31. [Microsoft] ÈçºÎ¸ßЧµØÓöÑջģÄâ¶ÓÁÐ.
ʹÓÃÁ½¸östack, s1ºÍs2
Pushʱ£¬pushµ½s1
Popʱ£¬Èôs2·Ç¿Õ£¬Ôò´Ós2ÖÐpop, Èôs2Ϊ¿Õ£¬Ôò½«s1µÄÈ«²¿ÔªËØpopµ½s2ÖУ¬ÔÙ´Ós2ÖÐpop
·Ö̯¸´ÔÓ¶ÈΪO(1)
32. [Microsoft] ´òÓ¡ÖÐÁ½¸öÕûÊý·¶Î§ÄÚµÄËùÓÐËØÊý£¬ÀýÈ磺(12, 15) ->13
1. µ¥¸öÑéÖ¤ÊÇ·ñΪËØÊý
2. ɸ·¨
33. [Google] ÇóÖ±·½Í¼µÄ×î´óÄÚ½Ó¾ØÐÎ
TODO
34. [Google] NxNÐÐÁÐÓÐÐòµÄ¾ØÕó²éÕÒÒ»¸öÊý
Á½ÖÖ·½·¨£¬1´Ó½ÇÉÏ¿ªÊ¼search, 2£¬ Divide and Conquer
·ÖÖη¨¿ÉÒÔÓÃÀ´½â¾öÁíÍâÒ»¸öÎÊÌ⣬ÔÚÐÐÁÐÓÐÐòµÄ¶þάÊý×éÖУ¬´óÓÚ/СÓÚ0µÄÔªËØÓжàÉÙ¸ö£¿
35. [Google] ½«MxNµÄ¾ØÕóתÖÈ,ÒªÇóO(1)µÄ¿Õ¼ä¸´ÔÓ¶È.²Î¿¼ÈºÂÛÖÐcyclic group,group
generator
TO LEARN
36. Inplace perfect shuffle
TO LEARN
37. ÓÐÒ»¸ö¾ØÕóA£¬ÕÒ³öÕâ¸ö¾ØÕóÖÐËùÓеÄA(i,j)£¬ËüËùÔÚµÄÐкÍÁж¼ÊÇ0.
ÒÀ´ÎɨÃ裿ÂÔ¡£¡£¡£
38. ÓÐÒ»¸ö±ä³¤µÄcharacters system, ÿ¸öcharacterËùÕ¼µÄbytesÊý²»¹Ì¶¨¡£Ã¿¸ö
characterµÄ×îºóÒ»¸öbyteµÄÖµÊÇ0. Ò»¸ö×Ö·û´®ÓÉÕâЩ±ä³¤µÄcharacters×é³É¡£×Ö·û´®
µÄ×îºóÁ½¸öbytesÊÇ0. ÒªÇó·´×ªÕâ¸ö×Ö·û´®¡£¶îÍâ¿Õ¼äʹÓÃÔ½ÉÙÔ½ºÃ¡£
ÏȽ«Õû¸ö×Ö·û´®·´×ª£¬ÔÙ°´¸ö×Ö·û·´×ª
39. ÓÐnÕÅÆË¿ËÅÆ£¬´ÓÖÐËæ»úÑ¡³ö¼¸ÕÅ¡£ÒªÇóÕÒ³öËùÓеÄÑ¡·¨£¬Ê¹µÃËùÑ¡ÆË¿ËÅƵĵãÊýµÄ
ºÍÊÇs. ²»ÓÃrecursion,´úÂëÐÐÊýÔ½ÉÙÔ½ºÃ¡£
TODO ÈçºÎ²»ÓÃrecursion
40. [Google] ÓÐ1GÄÚ´æºÍ4 billion¸öÕûÊý£¬Êä³öÒ»¸ö²»ÔÚÕâЩÕûÊýÄÚµÄÊý£¬ Èç¹ûÖ»ÓÐ10MBÄÚ´æÄØ£¿
1. 1GÄÚ´æÓÐ1024*1024*1024*8¸öλ£¬É¨ÃèÒ»±é¼Çλ¼´¿É
2. Èç¹ûÄÚ´æ²»¹»£¬¿ÉÒÔÒÀ´Î´¦Àí10*1024*1024*8¸öÊý£¬ÐèҪɨÃè4*1024/10/8´ó¸Å50ÌË
41. [Google] Merge N¸ösorted array
42. [Google] ¸øÒ»¸ö´óСΪNµÄÊý×飬Êä³öËùÓдóСΪKµÄ×Ó¼¯£¨K<=N£©
TODO
43. [Microsoft] ÒÑÖª bst ºÍÁ½¸öÊý, ÇóÔÚ´Ë·¶Î§ÄڵĽڵãÊý¡£µÝ¹éºÍ·ÇµÝ¹é
ÖÐÐò±éÀú£¬¼ÓÒ»¸öcollection×÷Ϊ²ÎÊý¼´¿É
44. [Microsoft] ÒÑÖª bst ºÍÒ»¸öÊý, ÕÒµ½next larger number, O(logn)ʱ¼ä
TO CODE
45. N*NµÄÕý·½ÐÎÄÚÓкڰ×Á½É«£¬ÇóËı߶¼ÊǺÚÉ«µÄ×î´óµÄ×ÓÕý·½ÐÎ
TO LEARN
46. ƽÃæÉÏÓÐÒ»×éµã¼¯£¬Çó´©¹ýµã×î¶àµÄÖ±Ïß
¼ÆËãÁ½Á½µã¹»³ÉµÄÖ±Ïß·½³Ìx+By+C=0£¬ ÕÒ³ö³öÏÖ´ÎÊý×î¶àµÄ·½³Ì¼´¿É
47. ʵÏÖitoa
48. ¸øÒ»¸ö2D µÄ matrix£¬°´ spiral order´òÓ¡
49. [Google] Ò»¸ö×Ö·û´®£¬¸´ÖÆËùÓеġ¯x¡¯, ÔÙɾ³ýËùÓеġ¯z¡¯, ÆäËü²»±ä
ÂÔ¡£¡£¡£
50. [Google] ʵÏÖmemcpy(void *src, int size, void *dest);
ÅжϲÎÊýºÏ·¨ÐÔ£¬ÅжÏsrc,destÊÇ·ñÏàµÈ£¬ ÊÇ·ñ overlapping ʱ»á³ö´í£¬
×¢ÒâmemcpyºÍmemmoveµÄÇø±ð
51. [Google] ´óСΪNµÄÊý×飬¸ø³öÒ»¸ö´óСΪKµÄËæ»ú×Ó¼¯
×÷Ò»¸öshuffle,È»ºóÑ¡È¡Ç°K¸ö£¨Òò´ËshuffleʱֻҪ½øÐе½µÚK¸ö¼´¿É£©
52. [Microsoft]ÅжÏÕâËĸöµãÊDz»Êǹ¹³ÉÁËÒ»¸ö¾ØÐÎ
TODO
53. ʵÏÖ char* strtok(char* str, const char* delimeter)
ÂÔ¡£¡£¡£Ó¦¸ÃÐèÒªÓõ½static±äÁ¿
54. ÃÀ¹úµÄcoinÉè¼ÆΪ1£¬5£¬10£¬25£¬ÈÎÒâ¸ø¶¨Ò»¸öchange£¬ÓÃgreedy algorithm¿ÉÒÔËã³ö×îÉÙËùÐèÒªµÄcoins£¬ÈçºÎÅжÏÒ»×écoinÊÇ·ñ¿ÉÒÔÓÃgreedy algorithm
TO LEARN
ÕÒÓ²±ÒµÄDP³ÌÐò:
55. ¸ø¶¨5ÕÅÅÆ£¬Ð´Ò»¸öº¯ÊýÅжÏÊÇ·ñÓÐÁ½¶Ô
ÂÔ¡£¡£¡£
56. ÔÚBSTÖÐɾ³ýÒ»¸ö½Úµã
57. [Microsoft] ¸øÄãÒ»¸öµØÖ·/a/b/../c/./d.txt, ÈÃÄã°ÑËünormalize¡£
58. [Microsoft] ¸ø³öÒ»¸öBSTºÍÒ»¸öÖµ£¬ÇóËùÓк͵ÈÓÚÕâ¸öÖµµÄPath.
59. [Microsoft] °´²ã´òÓ¡Ê÷
ÂÔ
60. [Google] Îå¸ö·Ç³£´óµÄÊý×éÇó½»¼¯£¨¿¼ÂÇʱ¼ä£¬¿Õ¼ä£¬I/O£©
ÂÔ