91. Given an int n, print all the numbers which are less than n and in the following pattern: 1,4,5,9,14¡ Write a recursive program.
¿´²»¶®¡
92. How to sort a large collection of string
ÒòΪstringµÄ±È½Ï¿ªÏú±È½Ï´ó£¬ËùÒÔ¿ÉÒÔ¿¼ÂÇÓÃradix sort. ¼û138Ì⣬ America flag sortÎÊÌâ
93. How to serialize a very sparse tree
±£´æparent->child¹Øϵ
94. Given an arbitrarily long string, design an algorithm to find the longest repetitive substring. For example, the longest repetitive substring of ¡°abcabcabc¡± is ¡°abcabc¡±.
TO LEARN. Suffix treeµÄÓ¦ÓÃ
95. reverse a link list within each k blocks
96. BST£¬ÅÅÐòË«Á´±í»¥Ïàת»»
CODE
97. ×Ö·û±í¸ñÕÒµ¥´Ê£¬±ÈÈçÏÂÃæµÄ3*3×Ö·û±í¸ñ
1 2 3
4 5 6
7 8 9
ÿһ¸öλÖö¼ÊÇËæ»úÉú³ÉµÄchar,¸øÄãÒ»¸ö×ÖµäÈ»ºóÕÒµ½±í¸ñÀïÃæËùÓпÉÄܵĵ¥´Ê.
µ¥´ÊµÄ¶¨ÒåÊÇÈÎÒâ¸öÁ¬Ðø×Ö·û×éºÏ,Ò»¸öλÖÃÓùýÖ®ºó¾Í²»ÄÜÔÙÓÃ.
»ØËÝ£¬ ÂÔ¡£¡£¡£
98. ¸øÒ»¸östring£¬Êä³öËùÓÐÓÉÕâ¸östingÖÐ×Ö·û×é³ÉµÄËùÓпÉÄÜstrings¡£È»ºó£¬Èç¹ûÓÐÖظ´µÄ×Ö·ûÔõô°ì¡£Èç¹û¸øÄãÒ»¸östring, ºÍÊä³östring³¤¶È£¬ÕÒ³öÓÉÕâ¸östingÖÐ×Ö·û×é³ÉµÄËùÓпÉÄÜstring
Éú³É×Ó¼¯µÄÎÊÌ⣬ÂÔ
99. ¸øÒ»¸ölog Îļþ£¬ÕÒ×session¡£session¶¨Ò壺ͬһ¸öuserid£¬Á½log¼ä¸ôʱ¼äСÓÚһСʱ
²»ÊǺÜÀí½â£¬ÓÃmap> À´¼Ç¼Óû§µÄµÇ¼ʱ¼ä£¬È»ºóÔÙɨÃ裿
100. ²»Óó˷¨ÊµÏÖÁ½ÊýÏà³Ë m*n£¬ O(lgn)
101. Ò»¸ö·µ»ØËùÓÐn±ÈÌظñÀ×ÂëµÄº¯Êývector getGrayCode(n) ±ÈÈç getGrayCode(2)£¬ Ó¦¸Ã·µ»Ø{0,1,3,2}
ÂÔ¡£¡£¡£
102. Á½¸ösorted array A£¬B£¬ ÎÊÄÜ·ñ´ÓA£¬BÖи÷È¡ÇÒֻȡһ¸öÊý£¬ÊÇËûÃǵĺÍΪx
´ÓÁ½Í·scan, ÂÔ
103. Ò»¸öÊý×éÓÐN¸öÔªËØ£¬¶¼´óÓÚ0.½«Êý×é·Ö³ÉK¶Î£¬Çóʹ×î´óµÄÿ¶ÎÊý×éºÍµÄ×îСֵ
³õʼÌõ¼þ: f(x,y,1) = a[x] + ¡ + a[y]
µÝÍÆ£º f(1, n, k) = min(1<=i<=n+1-k)max{f(1,i,1),f(i+1,n,k-1)}
¸ÃÎÊÌâµÄÒ»¸ö±äÌåÊÇ: ÓÐÒ»¸ö°üÀ¨N¸öÕûÊýµÄÊý×é,Çók¸öÊý£¬Ê¹µÃÕâk¸öÊýÅÅÐòºó£¬ÏàÁÚÁ½¸öÊýµÄ²îµÄ×îСֵ×î´ó¡£
ÏȽ«Êý×éÅÅÐò
³õʼÌõ¼þ: f(x,y,2) = a[y] ¨C a[x]
µÝÍÆ: f£¨1,n,k£© = max(2<=i<=n+2-k)min(f(1,i,2), f(i,n,k-1))
104. ÅжÏij¸öµãÊÇ·ñÔÚ¶à±ßÐεÄÄÚ²¿¡£°´ÄæʱÕë·½ÏòÒÀ´Î¸ø³ö¶à±ßÐεÄËùÓж¥µã¡£
ͼÐÎѧ£¬¿¼ÂÇÒÀ´ÎÐγɵÄËùÓмнǵĺͣ¬Èç¹ûÔÚÄÚΪ2pi, ·ñÔòΪ0
105. ÅжÏÒ»¸ösetÀïÊÇ·ñÓÐËĸöÊýµÄºÍµÈÓÚÒ»¸ötarget number.
Ô¤ÏȼÆËãËùÓÐÁ½ÊýÖ®ºÍ£¬µÃµ½map>>
È»ºóÔÙÕâ¸ömapÖÐËÑË÷ÓÐûÓкÍΪtarget numberµÄpair(²¢ÇÒindex²»ÄÜÖظ´)£¬Ê±¼äºÍ¿Õ¼ä¸´ÔÓ¶ÈO(N^2).
ÁíÍâÒ»ÖÖ×ö·¨Êǵ±³É×Ó¼¯ºÏÎʼ¯£¬°´target number(T)×öDP£¬¸´ÔÓ¶ÈO(NT)
106. how to implement priority queue (describe)
ÓÃ×î´ó/×îС¶ÑÀ´ÊµÏÖ£¬¶ÑµÄheapify²Ù×÷
107. ÕÒµ½Êý×éÖеĵڶþ´óµÄÔªËØ
108. Á½¸öÈË£¨A£¬B£©²ÎÓëÒ»¸öÓÎÏ·£¬¹æÔòÈçÏ£º
1£©Ò»¸öËæ»úµÄÕûÊýÊýÁÐÓÐżÊý¸öÊý,a1,a2,¡a2n
2£©AÏÈ´ÓÊýÁÐÈ¡Êý£¬µ«Ö»ÄÜ´ÓÁ½Í·È¡,a1 or a2n
3)È»ºó£ÂÈ¡Êý£¬Ò²ÊÇÖ»ÄÜ´ÓʣϵÄÁ½Í·È¡£¬ÒÀ´ËÀàÍÆ£¬Á½¸öÈËÂÖÁ÷£¬¶¼Ö»ÄÜ´ÓÁ½Í·È¡
£´£©×îºóËÊÖÀïµÄÊýºÍ×î´óÓ®¡£
Éèv[x,y]Êǵ±Ä³ÈËÔÚÊýÁÐÊ£ÏÂxµ½yλʱ£¬ÄÜÄõ½µÄ×î´óÖµ£¬n[x,y]±íʾÐèÒªÄõÄλÖÃ(x»òÕßy)Ôò
³õʼ»¯: v[x,x] = a[x], n[x,x] = x
µÝÍÆ: v[x,y] = max(v[x] + (v[x+2,y]»òÕßv[x+1,y-1], ÓÉn[x-1,y]¾ö¶¨)£¬
v[y] +£¨v[x,y-2]»òÕßv[x+1,y-1]£¬ÓÉn[x,y-1]¾ö¶¨£©)
n[x,y]ÓÉÉÏÒ»²½È¡v[x]»¹ÊÇÈ¡v[y]¾ö¶¨¡£
109. ×î´ó»ØÎĵÄÏêϸ½â·¨
Suffix treeµÄÓ¦Ó㬠TO LEARN
110. ¼Ù¶¨Óиögraph£¬ÔõôÕÒ³ö²»´øcircleµÄ×path
ÓÐÏòÎÞ»·Í¼¿ÉÒÔÓÃDP½â£¬Ò»°ãÇéÐÎÏÂÊÇNPÍêÈ«ÎÊÌâ
Ëã·¨£º
algorithm dag-longest-path is
input:
Directed acyclic graph G
output:
Length of the longest path
length_to = array with |V(G)| elements of type int with default value 0
for each vertex v in topOrder(G) do
for each edge (v, w) in E(G) do
if length_to[w] <= length_to[v] + weight(G,(v,w)) then
length_to[w] = length_to[v] + weight(G, (v,w))
return max(length_to[v] for v in V(G))
111. ¹ØÓÚÍⲿÅÅÐò
Ò»°ã×ö·¨£º
a) ʹÓöà¿é´ÅÅÌͬʱ½øÐжÁ/д
b) ʹÓöàÏß³ÌÌá¸ßÄÚ´æÀïµÄsortµÄÐÔÄÜ
c) ʹÓÃÒì²½µÄIOʹsortºÍ´ÅÅ̶Á/дͬʱ½øÐÐ
d) ¶à»úµÄ²¢ÐУ¨map reduce £©
e) Èç¹ûkey½Ï´ó£¬Ôò¿ÉÒÔʹÓÃradix sortÌá¸ßËÙ¶È
112. Õý̬Ëæ»ú
http://en.wikipedia.org/wiki/Normal_distribution#Generating_values_from_normal_distribution
¸ù¾ÝÖÐÐļ«ÏÞ¶¨Ò壬һÖÖ¼òµ¥µÄ×ö·¨ÊÇ,Éú³É2N¸ö(0,1)Ö®¼äµÄËæ»úÊý£¬È»ºó½«ËüÃǵĺͼõÈ¥N£¬µÃµ½Ò»¸ö½üËÆÕý̬·Ö²¼µÄÊý
113. ʵÏÖlinkedInÀï²éÕÒÁ½¸öÈËÖ®¼äconnectionµÄ¹¦ÄÜ¡££¨Èç¹ûÿÈËÓÐ100¸öÊìÈË£¬¼ÙÉèÈκÎÁ½¸öÈËÖ®¼äÖ»¸ô6¸öÈË£¬ÐèÒªspace 100^6£¬ÄÚ´æ·Å²»Ï¡£ËùÒÔ¸ÄÓÃͬʱ´ÓÁ½±ßbfs, ÐèÒªspace 2*100^3£©
ÂÔ¡£¡£¡£
114. Á½¸öSorted Array£¬ÕÒK smallest element, array1 ³¤¶ÈM£¬array2³¤¶ÈN£¬ÒªÇóO£¨logM+logN)
¼û68Ìâ
115. [Facebook] Given a string and a dictionary that maps a character to several
characters, print all combination and tell the complexity.
i.e., string = ¡°face¡±, f=> f, @, 4, h a=> a, c, e
print: face, @ace, 4ace, ¡..
116. Merge sort linked list.
ÂÔ¡£¡£¡£
Ïê¼ûhttp://www.chiark.