Huh? Those aren't that exciting, lol.

1) 52 choose 2 = 52*(52-1)/2

2) 3. 3/4 * 2/3 = 1/2 Aren't these two in intro probability/discrete math classes? Part of any CS undergrad program.

3) isn't this in any basic programming class? fibo(n), if(n<=1) return n; else return fibo(n-1)+fibo(n-2);

Try:

1) I give you a pointer to the head node of a linked list. This linked list has unknown size. As efficiently (time & space) as possible, tell me whether or not this linked list has a cycle. A cycle is the situation where a node whose "next" pointer points to a node that preceded it or points to itself.

2) Suppose I give you the coordinates of 2 rectangles (I give you the x,y coords of each rect's 4 corners). As efficiently as possible, tell me the coordinates of their intersection; if there is no intersection, say so.

Edit: My results in 1) & 2) might be wrong. I *suck* at probability/counting problems, yuck.