ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++±à³Ì£¬Êý¾Ý½á¹¹£¬Ëã·¨ÀàÃæÊÔÌ⼯(1)
2014-11-24 01:26:04 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:5124´Î
Tags£º±à³Ì Êý¾Ý½á¹¹ Ëã·¨ ÊÔÌ⼯

1. ÔÚlinked listÖÐÕÒµ¹ÊýµÚN¸ö½áµã


2. µ¹×ªlinked list


3. ¶þ²æÊ÷µÄ½áµãÓÐÖ¸ÏòparentµÄÖ¸Õ룬Çó×î½ü¹«¹²×æÏÈ


4. ¸øÒ»¸öÊý×é,ÈçºÎ´òÓ¡¸ÃÊý×é³ÉÔ±¹¹³É¼¯ºÏµÄÈ«²¿×Ó¼¯ºÏ.


5. ÓÐÁ½¸ö×Ö·û´®£¬Ò»¸öÊÇtext,Ò»¸öÊÇcommand, CommandÓÐËÄÖÖ£º


¡®+¡¯: ÔÚtextÖÐÇ°½øһλ


¡®-¡¯: ÔÚtextÖкóÍËһλ


¡®a¡¯: ÔÚµ±Ç°Î»ÖòåÈëÒ»¸ö×Ö·û£¬×Ö·ûÓÉcommandÖеĺóһλ¾ö¶¨
¡®d¡¯:
ɾ³ýµ±Ç°×Ö·û


ʵÏÖº¯ÊýProcess(string& text, string& command, string& result);
CodingÌ⣬´óÖÂÒªµã:



6. ʵÏÖÒ»¸öLRUµÄcache


Êý¾Ý½á¹¹£º


²åÈëÐÂcacheµÄËã·¨:


¹ØÓÚ¶àỊ̈߳¬Ò»°ãÀ´Ëµreader/writer lock²»ÊÊÓã¬ÒòΪreaderÒ²»á¸ü¸ÄLRU cache. Ò»ÖÖ½â¾öµÄ°ì·¨ÊÇÈÃÿ¸öÏß³ÌÓµÓÐ×Ô¼ºµÄcache.


7. Á½¸öÅÅÐòµÄÊý×飬ÇóËüÃǵĽ»¼¯


8. ÔÚ¶þ²æÊ÷ÖÐÌí¼Ó¶îÍâµÄÁ½¸öÖ¸Õ루Ê÷¿ÉÄÜ·ÇÂú£©£¬±éÀúÕû¿ÃÊ÷²¢½«Í¬Ò»²ãµÄ½áµãÓÃÕâÁ½¸ö¶îÍâÖ¸ÕëÁ¬½ÓÆðÀ´


9. ÓÃÒ»¸ö¸ø¶¨µÄÖµpartitionÒ»¸öÊý×飬עÒâÕâ¸öÖµ²»Ò»¶¨ÔÚÊý×éÖгöÏÖ



10. ÓÃÊý×éʵÏÖÒ»¸öqueue, ¿¼ÂÇÒÔÏÂһЩÄÚÈÝ£º


a) ʵÏ̶ֹ¨size


b) ʵÏֿɱäsize ÿ´Îsize²»¹»ÓÃʱ£¬½¨Ò»¸ö¸ü´óµÄarray²¢¸´ÖÆÔ­ÓÐÊý¾Ý


c) Óëlinked listµÄʵÏÖÏà±È£¬ÓÐʲôºÃ´¦ºÍ»µ´¦£¿±£Ö¤Á˲Ù×÷ºã¶¨ÎªO(1),µ«ÊÇÄÚ´æÓÐÀË·Ñ£¬ÇÒ²»Á¬Ðø


d) ÈçºÎ´¦Àíthread safe


11. Ï´ÅÆËã·¨


For i = 0 to n-1,


Éú³ÉÒ»¸öiµ½n-1Ö®¼äµÄËæ»úÊýj£¬½«v[i]Óëv[j]½»»»



12. [Microsoft] ¶ÔstackÉϵÄÔªËØÅÅÐò£¬¿ÉÒÔʹÓõķ½·¨ÓÐpop(), top(), push(), isEmpty(), isFull().


13. [Microsoft] ÓÐÒ»¸öM*NÐеľØÕó£¬Èç¹ûµÚ(i, j)¸öÔªËØÊÇ0£¬Ôò°ÑiÐкÍjÁж¼ÉèΪÁ㣬עÒ⾡Á¿ÉÙʹÓöîÍâ¿Õ¼ä


·Ö³ÉÈçϼ¸²½:



14. [Microsoft] Ò»¸ö¶þά¿Õ¼äµÚÒ»ÏóÏÞÓкܶàµã£¬ÔõôÕÒ³ö×îÍâΧµÄÄÇЩµã£¿


GrahamɨÃèËã·¨£º


a) PxΪջ¶¥µÄÏÂÒ»¸öµã£¬PyΪջ¶¥£¬µ±Ç°µãΪPi


b) Èç¹ûPy->Pi, Ïà¶ÔÓÚPx->PyÏòÓÒ


i. PopÕ»


ii. Push Piµ½Õ»


Ëã·¨¸´ÔÓΪO(NlogN) (µÚ¶þ²½µÄÅÅÐò)



15. [Google] ·µ»ØÒ»×é×Ö·û´®µÄ×¹«¹²Ç°×º£¬Èç ¡°abc¡±, ¡°abcdef¡±, ¡°abcd¡±, Ôò·µ»Ø¡±abc¡±


16. [Microsft] ¸ø³öƽÃæÉϵÚÒ»ÏóÏÞÄÚlandscapeµÄÂÖÀª£¬Ò²¾ÍÊÇһЩÁеÄ(x,y)×ø±ê, x=0,1,¡­,N
£¬ÒÔ¼°YÖáÉϹâÔ´×ø±ê(0,H)¡£ÎÊÕâN+1¸öµãÖÓÄÇЩ±»ÕÕÁÁÄÇЩÊÇÒõÓ°¡£(²æ³Ë)


Ò»Ò»¼ÆËã¹âÔ´µ½(x,y)µÄ½Ç¶È£¬ÔÙÓë×ó±ßµÄ½Ç¶È¶Ô±È¼´¿ÉÖªÊÇ·ñ±»ÕÚµ²£¬¸´ÔÓ¶ÈO(N)



17. [Microsoft] Ò»¸ölinked list£¬Ã¿¸ö½Úµã³ýÁËÕý³£nextÖ¸ÕëÍ⣬»¹ÓÐÒ»¸öextraÖ¸Õ룬Õâ¸öÖ¸Õë¿ÉÒÔÖ¸ÏòÁ´±íÖеÄÈÎÒ»½Úµã£¬²»Í¬µÄextraÖ¸Õë¿ÉÒÔÖ¸Ïòͬһ¸ö½Úµã£¬extraÖ¸ÕëÒ²¿ÉÄÜ
ÐγÉloop¡£ÎÊÔõô¸´ÖÆÕâ¸ö½á¹¹¡£


18. [Microsoft] Ôõô×éÖ¯×ֵ䣬ʹµÃÔÚ½âcross puzzleʱ¿ÉÒԺܿìµÃµ½Âú×ãÌõ¼þµÄËùÓе¥´Ê(±ÈÈç
ËùÓеڶþ¸ö×ÖĸÊÇo£¬µÚ5¸öÊÇHµÄµ¥´Ê£©¡£²»¹ýÕâÌâËãbrain storm£¬²»ÓÃдcode.


°´µ¥´ÊµÄ³¤¶È²»Í¬£¬¹¹Ôì¶à¸öcontainer


¶Ôijһ×鳤¶ÈÏàͬµÄµ¥´Ê£¬¹¹Ôì¶à¸öindex, ´Ó(2,o), (5, H) Ó³Éäµ½µ¥´Ê£¨id£©, ÿһ¸öcollection±£³ÖÓÐÐò£¬¿ÉÒÔ¼Ó¿ìmergeµÄËÙ¶È



19. [Google] ÈçºÎÉè¼Æbinary treeºÍhash tableµÄiterator


Binary Tree Iterator:


¼ÙÉèÊÇÖÐÐò±éÀúµÄ»°£¬ÔÚiteratorÖб£´æÒ»¸ö±éÀúµÄ״̬(parent node stack).


Hash Table Iterator:


È¡¾öÓÚhash tableµÄÊý¾Ý½á¹¹£¬Ò»°ãÖ±½Ó°´array»òÕßbucket˳Ðò±éÀú¾Í¿ÉÒÔÁË¡£



20. [Google] Éè¼ÆÒ»¸öclass£¬ÀàËÆÓÚstack, µ«¿ÉÒÔÊÇO(1)ʱ¼äÄÚ·µ»Ømin()


¸østack¼ÓÒ»¸öÖ»ÓÃÀ´±£´æµ±Ç°×îСֵµÄstack, Pushʱ£¬Èç¹ûµ±Ç°Öµ±ÈminStackÕ»¶¥Ð¡£¬ÔòÒ²pushµ½MinStack, Popʱ£¬Èç¹ûminStackÕ»¶¥Ó뵱ǰpopÔªËØÒ»Ñù´ó£¬ÔòÒ²pop minStack



21. [Google] ±È½ÏÁ½¸öbinary treeÊDz»ÊÇÍêÈ«Ò»ÖÂ


µÝ¹é±È½Ï if (tree1->value == tree2->value) && is_equal(tree1->left, tree2->left) && is_equal(tree1->right, tree2->right)



22. [Google] Ò»¸öÕûÊýÊý×éÀïÔõôͬʱÕÒ×î´óºÍ×îСµÄÊý£¬¾¡Á¿ÓÅ»¯±È½Ï´ÎÊý


¿¼ÂǶþ¸öÊýa,b£¬ aÓëbÏȱȣ¬´óµÄÓ뵱ǰ×î´ó±È£¬Ð¡µÄÓ뵱ǰ×îС±È¡£Á½¸öÊý¹²ÐèÒª±È½ÏÈý´Î¡£



23. [Google] ÔÚÒ»¸öÑ­»·ÓÐÐòµÄÊý×éÀï²éÕÒÒ»¸öÊý


24. [Google] ¸øÒ»¸öarrayºÍÒ»¸ötarget value, ¼ì²éarrayÀïÊÇ·ñ´æÔÚÁ½¸öÊýÖ®ºÍΪtarget


Á½ÖÖ×ö·¨:



25. [Google] ¸øÒ»¸öÎı¾£¬ È»ºó¸ø³ö¼¸¸ö¹Ø¼ü´Ê¼°ËûÃÇËù³öÏÖµÄλÖ㬱ÈÈç
this: 1, 16, 55¡­.
is: 5, 33, 77¡­
ÒªÇóÕÒ³ö×î¶ÌµÄÒ»¶ÎÎÄÕÂʹÆä¾ß±¸¸ø³öµÄ¹Ø¼ü´Ê¡£


´óÖÂËã·¨£º°´Î»ÖÃÍùºóÕÒ£¬Ö±µ½ËùÓеĴʶ¼³öÏÖ£¬È»ºóÔÙ³¢ÊÔ°Ñ×ó±ßµÄλÖÃËõ¼õ¡£Èç´ËÖ±µ½ÕÒµ½¸ü¶ÌµÄÇø¼ä¡£


¼ûºóÃæµÄfind_min_windowµÄ³ÌÐò£¬ÕâÀïÐèÒª´¦Àíinverted index



26. [Google] ¸ø³öÒ»¿Ãtree, ¸ÃtreeûÓÐÈκÎÌØÕ÷£¬ ¼´¿ÉÒÔÓжà¸ö×ӽڵ㣬 ¸¸½ÚµãºÍ×óÓÒ×Ó½ÚµãÒ²
ûÓдóС¹Øϵ¡£µ«Ã¿¸ö½ÚµãµÄÖµ²»ÏàµÈ¡£ÏÖ¸ø³ö¼¸¸öÖµ£¬ Èç(12£¬ 24) ÇëÕÒ³ö´Ó¸ù½Úµãµ½ÖµÎª12 ºÍ24µÄ½ÚµãµÄsubtree.


27. [Google] ¸øÒ»¸öarray, ÔÙ¸øÒ»¸öshÖµ£¬ Éè¼Æº¯Êý½«Êý×éÄÚµÄËùÓÐÔªËØÏòÓÒÆ«ÒÆsh¸öλÖÃ(½«Êý
×é¿´³ÉÒ»¸öȦ)¡£


¼ûProgramming Pearls, ÏÈ°Ñ[a,c] reverse, ÔÙreverse[a,b],[b,c]



28. [Microsoft] ɾ³ýÊý×éÖеÄÖظ´ÔªËØ


ÂÔ¡£¡£¡£



29. [Microsoft] °´ÈçϹæÔòת»¯Êý×ÖµÄ×Ö·û´®
(integers that appear >=1 times)
(integers that appear >=2 times)
¡­
(integers that appear >=n times)
²¢±£³Ö×Ö·ûÔ­À´µÄ˳Ðò
ÀýÈç: 12223314->12342312


ÂÔ¡£¡£¡£



30. [Microsoft] ¼ì²éÒ»¸ö±í´ïʽÖеÄÀ¨ºÅÊÇ·ñºÏ·¨£¬À¨ºÅ°üÀ¨ {, [, (, ), ], }


¼òµ¥µÄÕ»µÄÓ¦ÓÃ


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º¾­µä.netÃæÊÔÌ⣨΢´´+΢Èí£© ÏÂһƪ£ºC++±à³Ì£¬Êý¾Ý½á¹¹£¬Ëã·¨ÀàÃæÊÔÌâ..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿