Knowing when to ask for help I'm an undergrad with weekly problem sets due. Often if I begin the problem set early and think about it a bit each day, I can solve all of the problems. But other times it will quickly become apparent that one or two problems are going to be sticking points for me and that getting unstuck will be nontrivial. 
Ultimately there are failsafes available for these situations: I can ask a friend, go to a tutoring session, go to office hours, or peruse the web for hints. But I much prefer getting the problem on my own, which means I sometimes spend a great deal of time on a single problem for which the payoff (in terms of increased conceptual understanding) is small. 
In my own life, when I decide to stop working on the problem will depend on a variety of factors: how stressed I am, whether I feel like I still have ideas, how soon the problem set is due, etc. As it is, I just make a subjective judgment about the relative value of proceeding and then decide to quit or continue. But I was wondering if anyone had any more well-defined heuristics they used to decide when to ask for help. 
Note that I'm referring to difficulties with particular problems, not difficulties with underlying concepts, which I would ordinarily try to resolve as quickly as possible (rather than working on them over a period of days). This seems reasonable to me because understanding the theorem statements or techniques used is so fundamental to mastering the material, whereas a difficult homework problem isn't as crucial to one's understanding. 
 A: I had this problem. Of course, I wanted to solve all the problems on my own, but my time was limited by the other work I had to do. And besides, sometimes you know you're just stuck and have no idea how to proceed. 
My rule was to ask for help after $X$ amount of time had passed since my last piece of progress on the problem. The exact amount of time depended on the difficulty of the class and other commitments. This kept me sane and gave me time to do my other homework. So, for example, if you're trying to solve some undergraduate-level real analysis problem, and you've thought for an hour about it and gotten nowhere, then it is probably reasonable to just move on to the next problem and ask about it in office hours. 
A: A rule of thumb. Never seek any help for a question when you have got some idea on how to solve it. When you absolutely run out of ideas and you did applied them all and you got stuck, then at that point of time, you should seek help.
You know , even when sometimes I have no clue on how to answer a question  $\textbf{But I still have got some time before it's due}$. I actually leave it for a day or two and attack it again. Sometimes, It actually works. The biggest trap that mathematicians fall in is the $\textbf{frozen mind set}$. Meaning that they repetitively try to answer a question using the same strategy. But when you take some break from a problem and attack it again,You will have a new mind set and there is a better chance that you will be able to solve it.
The problem is that I have many smart friends that are too lazy to solve a problem even though they have a rough idea on how to solve it. For instance, They look at the question, and then they say, Yes, This question will be solved in that way using that rule, But instead of actually solving it, They still ask people or post their questions online. I am afraid to say that this behaviour is not beneficial on the long run. They may survive like that in the first couple of years but then they will use a lot of problem solving skills on their way. 
The more suffering that You get while solving a problem, the more value that you will get out of it, and you will grow better as a mathematician and a problem solver. But don't over stress, sometimes, You have to ask someone
