61. [Google] Á½¸öÅÅÐòºÃµÄÊý×飬ÇóºÍ×îСµÄM¸öpair, ±ÈÈç A={1, 2, 4, 5, 6}, B={3, 5, 7, 9}
m=3ÄÇôResults¾ÍÊÇ(1, 3),(2, 3),(1, 5)
Õâ¸ö½á¹¹ÐγÉÁËÒ»¸öÐÐÁÐÓÐÐòµÄ¾ØÕó£¬Õâ¸öÌâ¾ÍÀàËÆÓÚÔÚÐÐÁÐÓÐÐòµÄ¾ØÕóÖÐÕÒµÚk¸öÔªËØ¡£
½áÂÛÊÇ:
¶ÔÓÚÒ»¸ön¡Ám(n¡Üm)µÄ¾ØÕó£¬ÈôÿÐкÍÿÁж¼ÊǵÝÔöµÄ£¬Ôò¿ÉÒÔÔÚO(nlog2m/n)ÕÒµ½µÚk´óµÄÊý¡£ÂÛÎÄÌâĿΪ¡°Generalized Selection and Ranking: Sorted Matrices¡±
Èç¹ûÊDzéÖÐλÊý£º
ÏÈÕÒ³öÿһÐУ¨ÁУ©µÄÖÐλÊý£¬ÔÙÕÒ³öÖÐλÊýµÄÖÐλÊý£¬ÕâÑù¿ÉÒÔÈ¥µô½Ó½üÒ»°ëµÄÊý£¬ÔÙÔÚʣϵÄÊýÀïÕÒÖÐλÊý¼´¿É£¬¸´ÔÓ¶ÈO(N(logN)^2)
62. [Microsoft] Ò»¸öÊý×飬ÓдóСд×ÖĸºÍÊý×Ö£¬Ò»´Î±àÀú£¬´óд×ÖĸÔÚÒ»Æ𣬠Сд×ÖĸÔÚÒ»Æð£¬Êý×ÖÔÚÒ»Æð.
¼û138. Dutch National Flag Problem (DNFP)
63. [Google] 1. ¸ø¶¨Ò»¸öÊ÷ºÍÈÎÒâ2¸önodes£¬ÕÒ³öÀ´×îСµÄsubtree°üº¬Õâ2¸önodes µÚ26Ìâ
2. дBFSËã·¨´òÓ¡subtreeµÄnodes µÈ¼ÛÓÚ·Ö²ã·ÃÎÊÊ÷
3. Èç¹û°ÑÊ÷±ä³ÉÁËgraph£¨¿ÉÄÜÓÐloop£©£¬Ôõô¸Ä¸ÕдµÄBFS ÐèÒª±ê¼ÇÒѾ·ÃÎʹýµÄµã
64. ʵÏÖnext_permutation
Ëã·¨£º
65. ×ÉÏÉý×ÓÐòÁÐ
66. ¸øÒ»¸ösingle linked list£¬ ÀïÃæÓÐtrueºÍfalseÁ½ÀàµÄnode£¬Ð´Ò»¸ö³ÌÐò°Ñ
true node ºÍfalse node·ÖÀ࣬²¢ÇÒÖмäÉú³ÉÒ»¸öеÄnode°ÑÁ½Àà·Ö¿ª¡£
½«trueºÍfalseÁ½Àànode½Óµ½Á½¸ö²»Í¬µÄlist,×îºóÔٺϲ¢¼´¿É
67. 1 billion queryÀïÑ¡³öʱ¼ä×î½ü5·ÖÖÓÄÚ×îfrequentµÄ1000¸öquery£¬one pass
¾«È·½â£ºÑ¡³öËùÓÐ5·ÖÖÓÄÚµÄquery,countÿ¸öqueryµÄ¸öÊý£¬Í¬Ê±Î¬»¤Ò»¸ö×î´ó¶Ñ£¬×îºóµÃµ½²éѯ
À©Õ¹£ºÈç¹ûqueryµÄÊýÁ¿·Ç³£´ó£¬Ôò¿ÉÒÔÔÚÒ»¸ö¸ötime windowsÀïÃæ×öһЩsample, ×îºó°ÑÕâÎå·ÖÖÓÄÚµÄsample½á¹ûºÏ²¢ÆðÀ´
68. Á½¸öÅÅÐòÊý×éÕÒ¹²Í¬ÖÐÖµ¡£
69. ʵÏÖstrstr(str1, str2)
70. ¸ø¶¨Ò»¸öÅźÃÐòµÄlinked list£¬É¾³ýÆäÖÐËùÓеÄÖظ´ÔªËØ¡£±ÈÈç¸ø¶¨1->2->3->3->
4->4->5£¬·µ»Ø1->2->5¡£¸ø¶¨1->1->1->2->3£¬·µ»Ø2->3
71. ·µ»Ø¸ø¶¨×Ö·û´®µÄµÚÒ»¸ö²»·ûºÏ×Öĸ˳ÐòµÄindex, ±ÈÈçabcdaf¾ÍÐèÒª·µ»ØµÚ¶þ¸öaµÄindex£¬±ÈÈçaZe¾Í·µ»ØeµÄindex
ÒÀ´ÎɨÃè¼´¿É¡£¡£¡£
72. ¼ì²ésudokuµÄÊäÈëÊÇvalid£¬ÔÊÐísolutionÊDz»ÍêÈ«µÄ
ÂÔ
73. ʵÏÖ wildcast string matching.
74. ¸øÄãÒ»±¾dictionary£¬ÈÎÒâ¸øÄãÆ߸öletters£¬ÈÃÄãÕÒ³ö°üº¬ÕâÆ߸ö×ÖĸµÄ¡¢×µÄµ¥´Ê¡£Ìõ¼þ£º¿ÉÒÔpre-processing£¬ÕâÑùÿ´Î¸øÄ㲻ͬµÄlettersʱ£¬¿ÉÒÔvery efficient
½«µ¥´Ê°´³¤¶È´Ó³¤µ½¶Ì±àºÅ
¶Ôÿһ¸ö×Öĸ£¬½¨Ò»¸öcollection£¬°´±àºÅÅÅÐò¡£
¶Ô¸ø³öµÄÆ߸ö×Öĸ£¬ÕÒµ½ËüÃǵÄcollectionÖеĵÚÒ»¸ö¹²Í¬µÄ×Öĸ¡£
75. ±í´ïʽÇóÖµ
76. Á½¸östring, ¸ø³öËüÃǵÄÁ½¸ösubstring, ¶¨ÒåËüÃǵľàÀëΪdistance=\sum_i|s1[i]-s2[i]|£¬ ÔõôÕÒ¾àÀë×î´óµÄÁ½¸ösubstring
Çî¾Ù¡£¡£¡£ ÓÐûÓиüºÃµÄ°ì·¨£¿
77 N*NµÄ0/1¾ØÕó£¬ÕÒ³ö×î´óµÄÈ«0¾ØÕó
×î´óÖ±·½Í¼µÄÓ¦Ó㬠O(N^3)ʱ¼ä¸´ÔÓ¶È
78. ½«Ò»¸ölinked list°´²»Í¬ÔªËصÄÖµ·Ö×é
Óöà¸öhead·Å²»Í¬ÔªËصÄ×飬×îºóºÏ²¢
79. serialize and re-construct binary tree.
°´pre-order±éÀú£¬Ð´Èë½áµã£¬°üÀ¨NULLµÄ×Ó½áµã
Re-constructµÄʱºò£¬¶ÁÈë½áµã£¬¹¹½¨node,Ôٵݹ鹹½¨child,(µ±¸ÃNode²»Îª¿Õ)
80. ÊÖ»úÉϵĵ绰ºÅÂëÌáʾ, ÓÃprefix tree
CODE prefix tree
81. [Facebook] ¸ø¶¨Ò»¸öÊý×飬ɾ³ý×îÉÙµÄÔªËØʹµÃʣϵÄÔªËØÓÐÐò
µÈ¼ÛÓÚÕÒ×ÉÏÉý£¨Ï½µ£©×ÓÐòÁУ¬¼û65Ìâ
82. [Facebook] BSTÖÐÕÒÖмä½Úµã
ÖÐÐò±éÀúÒ»±é·Åµ½Êý×éÖУ¬×îºóÄÃÖмäÊý
83. [Facebook] implement char *remove_badchars(char string[], char bad_chars[]) in place¡£
½«bad_chars·Åµ½hashÖвéѯ£¬ÓÃÁ½¸öÖ¸ÕëÀ´remove bad char, codeÂÔ¡£¡£¡£
84. [Facebook] implement adding two unsigned numbers without using ¡°+¡±
85. [Facebook] How to implement a smart_pointer
TO LEARN
86. [Facebook] implement sqrt
87. [Facebook] implement reader/writer lock
TO LEARN
88. given a word a and a word b, all are 6-letter. Also given a dictionary. Find a transformation from a to b, such that: (a) each time you can changeone letter; (b) all the changed word should appear in the dictionary
ͼµÄsearchÎÊÌ⣬¼ûcrack the interview. ÂÔ¡
89. ¸ø¶¨Ò»¸öÓ²±Ò¼¯ºÏ{10,5,2,1},¸ø¶¨Ò»¸öinput amount£¬ÕÒ³öËùÓеÄÓ²±Ò×éºÏÆäsum¿ÉÒÔµÈÓÚÕâ¸öÊý¶î£¬Ó²±Ò¿ÉÒÔ±»Öظ´Ê¹Ó㬾ÍÊÇ˵amount = 4, ¼¯ºÏ¿ÉÒÔÊÇ{2,2}.
90. ¼¯ºÏµÄintersection, union
TO LEARN