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

TOP

Ê®µÀº£Á¿Êý¾Ý´¦ÀíÃæÊÔÌâ(¶þ)
2014-11-24 01:45:51 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:557´Î
Tags£ºº£Á¿ Êý¾Ý´¦Àí ÊÔÌâ
¸öÎÊÌâÔÚ¡¶±à³ÌÖéçá¡·ÀïÓкܺõÄÃèÊö£¬´ó¼Ò¿ÉÒԲο¼ÏÂÃæµÄ˼·£¬Ì½ÌÖһϣº
ÓÖÒòΪ2^32Ϊ40Òڶ࣬ËùÒÔ¸ø¶¨Ò»¸öÊý¿ÉÄÜÔÚ£¬Ò²¿ÉÄܲ»ÔÚÆäÖУ»
ÕâÀïÎÒÃÇ°Ñ40ÒÚ¸öÊýÖеÄÿһ¸öÓÃ32λµÄ¶þ½øÖÆÀ´±íʾ
¼ÙÉèÕâ40ÒÚ¸öÊý¿ªÊ¼·ÅÔÚÒ»¸öÎļþÖС£


È»ºó½«Õâ40ÒÚ¸öÊý·Ö³ÉÁ½Àà:
1.×î¸ßλΪ0
2.×î¸ßλΪ1
²¢½«ÕâÁ½Àà·Ö±ðдÈëµ½Á½¸öÎļþÖУ¬ÆäÖÐÒ»¸öÎļþÖÐÊýµÄ¸öÊý<=20ÒÚ£¬¶øÁíÒ»¸ö>=20ÒÚ£¨ÕâÏ൱ÓÚÕÛ°ëÁË£©£»
ÓëÒª²éÕÒµÄÊýµÄ×î¸ßλ±È½Ï²¢½Ó׎øÈëÏàÓ¦µÄÎļþÔÙ²éÕÒ


ÔÙÈ»ºó°ÑÕâ¸öÎļþΪÓÖ·Ö³ÉÁ½Àà:
1.´Î×î¸ßλΪ0
2.´Î×î¸ßλΪ1


²¢½«ÕâÁ½Àà·Ö±ðдÈëµ½Á½¸öÎļþÖУ¬ÆäÖÐÒ»¸öÎļþÖÐÊýµÄ¸öÊý<=10ÒÚ£¬¶øÁíÒ»¸ö>=10ÒÚ£¨ÕâÏ൱ÓÚÕÛ°ëÁË£©£»
ÓëÒª²éÕÒµÄÊýµÄ´Î×î¸ßλ±È½Ï²¢½Ó׎øÈëÏàÓ¦µÄÎļþÔÙ²éÕÒ¡£
¡­¡­.
ÒÔ´ËÀàÍÆ£¬¾Í¿ÉÒÔÕÒµ½ÁË,¶øÇÒʱ¼ä¸´ÔÓ¶ÈΪO(logn)£¬·½°¸2Íê¡£


¸½£ºÕâÀÔÙ¼òµ¥½éÉÜÏ£¬Î»Í¼·½·¨£º
ʹÓÃλͼ·¨ÅжÏÕûÐÎÊý×éÊÇ·ñ´æÔÚÖظ´
Åжϼ¯ºÏÖдæÔÚÖظ´Êdz£¼û±à³ÌÈÎÎñÖ®Ò»£¬µ±¼¯ºÏÖÐÊý¾ÝÁ¿±È½Ï´óʱÎÒÃÇͨ³£Ï£ÍûÉÙ½øÐм¸´ÎɨÃ裬Õâʱ˫ÖØÑ­»··¨¾Í²»¿ÉÈ¡ÁË¡£


λͼ·¨±È½ÏÊʺÏÓÚÕâÖÖÇé¿ö£¬ËüµÄ×ö·¨ÊÇ°´ÕÕ¼¯ºÏÖÐ×î´óÔªËØmax´´½¨Ò»¸ö³¤¶ÈΪmax+1µÄÐÂÊý×飬ȻºóÔÙ´ÎɨÃèÔ­Êý×飬Óöµ½¼¸¾Í¸øÐÂÊý×éµÄµÚ¼¸Î»ÖÃÉÏ1£¬ÈçÓöµ½5¾Í¸øÐÂÊý×éµÄµÚÁù¸öÔªËØÖÃ1£¬ÕâÑùÏ´ÎÔÙÓöµ½5ÏëÖÃλʱ·¢ÏÖÐÂÊý×éµÄµÚÁù¸öÔªËØÒѾ­ÊÇ1ÁË£¬Õâ˵Ã÷Õâ´ÎµÄÊý¾Ý¿Ï¶¨ºÍÒÔÇ°µÄÊý¾Ý´æÔÚ×ÅÖظ´¡£ÕâÖÖ¸øÐÂÊý×é³õʼ»¯Ê±ÖÃÁãÆäºóÖÃÒ»µÄ×ö·¨ÀàËÆÓÚλͼµÄ´¦Àí·½·¨¹Ê³Æλͼ·¨¡£ËüµÄÔËËã´ÎÊý×µÄÇé¿öΪ2N¡£Èç¹ûÒÑÖªÊý×éµÄ×î´óÖµ¼´ÄÜÊÂÏȸøÐÂÊý×鶨³¤µÄ»°Ð§ÂÊ»¹ÄÜÌá¸ßÒ»±¶¡£


»¶Ó­£¬ÓиüºÃµÄ˼·£¬»ò·½·¨£¬¹²Í¬½»Á÷¡£
8¡¢ÔõôÔÚº£Á¿Êý¾ÝÖÐÕÒ³öÖظ´´ÎÊý×î¶àµÄÒ»¸ö£¿

·½°¸1£ºÏÈ×öhash£¬È»ºóÇóÄ£Ó³ÉäΪСÎļþ£¬Çó³öÿ¸öСÎļþÖÐÖظ´´ÎÊý×î¶àµÄÒ»¸ö£¬²¢¼Ç¼Öظ´´ÎÊý¡£È»ºóÕÒ³öÉÏÒ»²½Çó³öµÄÊý¾ÝÖÐÖظ´´ÎÊý×î¶àµÄÒ»¸ö¾ÍÊÇËùÇ󣨾ßÌå²Î¿¼Ç°ÃæµÄÌ⣩¡£
9¡¢ÉÏǧÍò»òÉÏÒÚÊý¾Ý£¨ÓÐÖظ´£©£¬Í³¼ÆÆäÖгöÏÖ´ÎÊý×î¶àµÄÇ®N¸öÊý¾Ý¡£


·½°¸1£ºÉÏǧÍò»òÉÏÒÚµÄÊý¾Ý£¬ÏÖÔڵĻúÆ÷µÄÄÚ´æÓ¦¸ÃÄÜ´æÏ¡£ËùÒÔ¿¼ÂDzÉÓÃhash_map/ËÑË÷¶þ²æÊ÷/ºìºÚÊ÷µÈÀ´½øÐÐͳ¼Æ´ÎÊý¡£È»ºó¾ÍÊÇÈ¡³öÇ°N¸ö³öÏÖ´ÎÊý×î¶àµÄÊý¾ÝÁË£¬¿ÉÒÔÓõÚ2ÌâÌáµ½µÄ¶Ñ»úÖÆÍê³É¡£
10¡¢Ò»¸öÎı¾Îļþ£¬´óÔ¼ÓÐÒ»ÍòÐУ¬Ã¿ÐÐÒ»¸ö´Ê£¬ÒªÇóͳ¼Æ³öÆäÖÐ×îƵ·±³öÏÖµÄÇ°10¸ö´Ê£¬Çë¸ø³ö˼Ï룬¸ø³öʱ¼ä¸´ÔӶȷÖÎö¡£


·½°¸1£ºÕâÌâÊÇ¿¼ÂÇʱ¼äЧÂÊ¡£ÓÃtrieÊ÷ͳ¼Æÿ¸ö´Ê³öÏֵĴÎÊý£¬Ê±¼ä¸´ÔÓ¶ÈÊÇO(n*le)£¨le±íʾµ¥´ÊµÄƽ׼³¤¶È£©¡£È»ºóÊÇÕÒ³ö³öÏÖ×îƵ·±µÄÇ°10¸ö´Ê£¬¿ÉÒÔÓöÑÀ´ÊµÏÖ£¬Ç°ÃæµÄÌâÖÐÒѾ­½²µ½ÁË£¬Ê±¼ä¸´ÔÓ¶ÈÊÇO(n*lg10)¡£ËùÒÔ×ܵÄʱ¼ä¸´ÔӶȣ¬ÊÇO(n*le)ÓëO(n*lg10)ÖнϴóµÄÄÄÒ»¸ö¡£
¸½¡¢100w¸öÊýÖÐÕÒ³ö×î´óµÄ100¸öÊý¡£


·½°¸1£ºÔÚÇ°ÃæµÄÌâÖУ¬ÎÒÃÇÒѾ­Ìáµ½ÁË£¬ÓÃÒ»¸öº¬100¸öÔªËصÄ×îС¶ÑÍê³É¡£¸´ÔÓ¶ÈΪO(100w*lg100)¡£


·½°¸2£º²ÉÓÿìËÙÅÅÐòµÄ˼Ï룬ÿ´Î·Ö¸îÖ®ºóÖ»¿¼ÂDZÈÖá´óµÄÒ»²¿·Ö£¬ÖªµÀ±ÈÖá´óµÄÒ»²¿·ÖÔÚ±È100¶àµÄʱºò£¬²ÉÓô«Í³ÅÅÐòËã·¨ÅÅÐò£¬È¡Ç°100¸ö¡£¸´ÔÓ¶ÈΪO(100w*100)¡£


·½°¸3£º²ÉÓþֲ¿ÌÔÌ­·¨¡£Ñ¡È¡Ç°100¸öÔªËØ£¬²¢ÅÅÐò£¬¼ÇΪÐòÁÐL¡£È»ºóÒ»´ÎɨÃèÊ£ÓàµÄÔªËØx£¬ÓëÅźÃÐòµÄ100¸öÔªËØÖÐ×îСµÄÔªËرȣ¬Èç¹û±ÈÕâ¸ö×îСµÄÒª´ó£¬ÄÇô°ÑÕâ¸ö×îСµÄÔªËØɾ³ý£¬²¢°ÑxÀûÓòåÈëÅÅÐòµÄ˼Ï룬²åÈëµ½ÐòÁÐLÖС£ÒÀ´ÎÑ­»·£¬ÖªµÀɨÃèÁËËùÓеÄÔªËØ¡£¸´ÔÓ¶ÈΪO(100w*100)¡£


ÖÂл£ºhttp://www.cnblogs.com/youwang/¡£


Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 2/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º»ªÎªÃæÊÔ¾­Àú 2012Äê×îо­Àú ÐÔ.. ÏÂһƪ£ºÊäÈëÒ»¸ö×Ö·û´®£¬½«ÆäÄæÐòºóÊä³ö..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

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