锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品国产综合区久久久久久,久久99国产综合精品女同,97精品伊人久久大香线蕉apphttp://www.shnenglu.com/everyday/category/20592.html緙栫▼闈㈣瘯棰? https://interview.codeplex.comzh-cnThu, 29 Aug 2013 02:54:33 GMTThu, 29 Aug 2013 02:54:33 GMT60緇熻鏁扮粍涓湭鍑虹幇鍜屽嬈″嚭鐜扮殑鍊?/title><link>http://www.shnenglu.com/everyday/archive/2013/08/29/202841.html</link><dc:creator>everyday</dc:creator><author>everyday</author><pubDate>Thu, 29 Aug 2013 02:24:00 GMT</pubDate><guid>http://www.shnenglu.com/everyday/archive/2013/08/29/202841.html</guid><wfw:comment>http://www.shnenglu.com/everyday/comments/202841.html</wfw:comment><comments>http://www.shnenglu.com/everyday/archive/2013/08/29/202841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/everyday/comments/commentRss/202841.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/everyday/services/trackbacks/202841.html</trackback:ping><description><![CDATA[<p><a >#<span style="font-family:SimSun;">闈㈣瘯棰?/span>#</a><span style="font-family:SimSun;">緇欏畾鏁扮粍</span>A<span style="font-family:SimSun;">錛屽ぇ灝忎負</span>n<span style="font-family:SimSun;">錛屾暟緇勫厓绱犱負</span>1<span style="font-family:SimSun;">鍒?/span>n<span style="font-family:SimSun;">鐨勬暟瀛楋紝涓嶈繃鏈夌殑鏁板瓧鍑虹幇浜嗗嬈★紝鏈夌殑鏁板瓧娌℃湁鍑虹幇銆傝緇欏嚭綆楁硶鍜岀▼搴忥紝緇熻鍝簺鏁板瓧娌℃湁鍑虹幇錛屽摢浜涙暟瀛楀嚭鐜頒簡澶氬皯嬈°傝兘澶熷湪</span>O(n)<span style="font-family:SimSun;">鐨勬椂闂村鏉傚害錛?/span>O(1)<span style="font-family:SimSun;">鐨勭┖闂村鏉傚害瑕佹眰涓嬪畬鎴愪箞</span><span style="font-family:SimSun;">錛?/span></p> <p><span style="font-family:SimSun;"><br /> </span></p> <p><span style="font-family:SimSun;">鎯充簡濂戒箙錛岄兘娌¤兘鎯沖嚭鏉ョ畻娉曪紝鎴戣寰楁槸涓嶆槸鑷繁璧拌繘姝昏儭鍚屼簡錛屽喅瀹氬啀鐪嬩竴閬嶉鐩紝榪欎竴閬嶆灉鐒惰鎴戝彂鐜幫紝鍘熸潵鑷繁鐪熺殑鐞嗚В閿欎簡棰樼洰鐨勬剰鎬濓紝鎴戜竴寮濮嬩互涓鴻杈撳嚭澶氭鍑虹幇鐨勬暟瀛楀搴旂殑鏁板瓧錛屾墍浠ヤ竴鐩撮兘緇曚笉榪囨潵寮?/span></p> <p><span style="font-family:SimSun;">鎵浠ユ湁鏃跺欓潰璇曡繃紼嬩腑錛岄噸鏂扮‘璁ら鐩繕鏄湁蹇呰鐨勶紝鏈夋椂鍊欓潰璇曠揣寮犱細璇В棰樼洰鎰忔濓紝褰撹嚜宸辨病鏈夋濊礬鐨勬椂鍊欙紝鍙互灝濊瘯紜棰樻剰錛屼互鏉ュ彲浠ョ紦瑙d竴涓嬭嚜宸辯殑蹇冩儏錛屽啀鑰呭彲鑳介潰璇曞畼浼氳窡浣犳湁鏇村鐨勪簰鍔紝澧炲姞濂芥劅銆?/span></p> <p><span style="font-family:SimSun;"><br /> </span></p> <p><span style="font-family:SimSun;">紜畾浜嗛鎰忥紝鍩轟簬涔嬪墠鐨勬濊冿紝鎴戠殑綆楁硶鏄繖鏍風殑閬嶅巻涓閬嶆暟緇勶紝鐢?/span><span style="font-family:SimSun;">-2,-1,0鏉ヨ〃紺烘病鏈夊嚭鐜幫紝鍑虹幇涓嬈★紝鍑虹幇澶氭錛屽鏋滃綋鍓嶈妭鐐瑰ぇ浜?錛岀洰鏍囪妭鐐逛負瀹冨搴旂殑鍊鹼紝褰撳墠緗負-2錛岃嫢灝忎簬0錛屽姞涓浣嗕笉瑕佽秴榪?銆傜畻娉曢渶瑕佷竴涓掑綊鍑芥暟錛堢敤鏉ラ掑綊澶勭悊鐩爣鑺傜偣涓鐩村ぇ浜?鐨勬儏鍐碉紝鍗蟲湭澶勭悊榪囩殑錛夊拰涓涓亶鍘嗙殑鍑芥暟銆傛渶緇?鍗充負澶氭鍑虹幇錛?1鍑虹幇1嬈$殑錛?2娌℃湁鍑虹幇銆傚洜涓烘湁2涓墠鎻愯繖涓畻娉曟墠鏈夋晥錛?锝瀗錛涘彧瑕佸嚭鐜板嬈″拰娌″嚭鐜扮殑鏁板瓧錛屼笉闇瑕佹鏁般?/span></p> <p> </p> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080; "> 1</span> <span style="color: #000000; ">#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> </span><span style="color: #008080; "> 2</span> <span style="color: #000000; ">#include </span><span style="color: #000000; "><</span><span style="color: #000000; ">array</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> </span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">using</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; "> std;<br /> </span><span style="color: #008080; "> 4</span> <span style="color: #000000; "><br /> </span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">template</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> N</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> </span><span style="color: #008080; "> 6</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> array_stat {<br /> </span><span style="color: #008080; "> 7</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br /> </span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    array_stat(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> array</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">, N</span><span style="color: #000000; ">>&</span><span style="color: #000000; "> arr) : m_arr(arr) {<br /> </span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">    }<br /> </span><span style="color: #008080; ">10</span> <span style="color: #000000; "><br /> </span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">()() {<br /> </span><span style="color: #008080; ">12</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">; i</span><span style="color: #000000; "><=</span><span style="color: #000000; ">N; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br /> </span><span style="color: #008080; ">13</span> <span style="color: #000000; ">            process(i);<br /> </span><span style="color: #008080; ">14</span> <span style="color: #000000; ">        }<br /> </span><span style="color: #008080; ">15</span> <span style="color: #000000; "><br /> </span><span style="color: #008080; ">16</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i</span><span style="color: #000000; "><</span><span style="color: #000000; ">N; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br /> </span><span style="color: #008080; ">17</span> <span style="color: #000000; ">            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (m_arr[i] </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">18</span> <span style="color: #000000; ">                cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; "> exists more than once</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /> </span><span style="color: #008080; ">19</span> <span style="color: #000000; ">            </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (m_arr[i] </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">20</span> <span style="color: #000000; ">                cout </span><span style="color: #000000; "><<</span><span style="color: #000000; "> i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; "> doesnt exist</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; "><<</span><span style="color: #000000; "> endl;<br /> </span><span style="color: #008080; ">21</span> <span style="color: #000000; ">        }<br /> </span><span style="color: #008080; ">22</span> <span style="color: #000000; ">    }<br /> </span><span style="color: #008080; ">23</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">:<br /> </span><span style="color: #008080; ">24</span> <span style="color: #000000; ">    array</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">, N</span><span style="color: #000000; ">></span><span style="color: #000000; "> m_arr;<br /> </span><span style="color: #008080; ">25</span> <span style="color: #000000; "><br /> </span><span style="color: #008080; ">26</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> process(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i) {<br /> </span><span style="color: #008080; ">27</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">] </span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">) {<br /> </span><span style="color: #008080; ">28</span> <span style="color: #000000; ">            </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> cur </span><span style="color: #000000; ">=</span><span style="color: #000000; "> m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br /> </span><span style="color: #008080; ">29</span> <span style="color: #000000; ">            m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000; ">2</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">30</span> <span style="color: #000000; ">            process(cur);<br /> </span><span style="color: #008080; ">31</span> <span style="color: #000000; ">        }<br /> </span><span style="color: #008080; ">32</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br /> </span><span style="color: #008080; ">33</span> <span style="color: #000000; ">            m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">34</span> <span style="color: #000000; ">            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">] </span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">35</span> <span style="color: #000000; ">                m_arr[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">36</span> <span style="color: #000000; ">        }<br /> </span><span style="color: #008080; ">37</span> <span style="color: #000000; ">    }<br /> </span><span style="color: #008080; ">38</span> <span style="color: #000000; ">};<br /> </span><span style="color: #008080; ">39</span> <span style="color: #000000; "><br /> </span><span style="color: #008080; ">40</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main() {<br /> </span><span style="color: #008080; ">41</span> <span style="color: #000000; ">    array</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">, </span><span style="color: #000000; ">10</span><span style="color: #000000; ">></span><span style="color: #000000; "> arr </span><span style="color: #000000; ">=</span><span style="color: #000000; "> {</span><span style="color: #000000; ">2</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">, </span><span style="color: #000000; ">4</span><span style="color: #000000; ">, </span><span style="color: #000000; ">3</span><span style="color: #000000; ">, </span><span style="color: #000000; ">5</span><span style="color: #000000; ">, </span><span style="color: #000000; ">6</span><span style="color: #000000; ">, </span><span style="color: #000000; ">5</span><span style="color: #000000; ">, </span><span style="color: #000000; ">6</span><span style="color: #000000; ">, </span><span style="color: #000000; ">5</span><span style="color: #000000; ">, </span><span style="color: #000000; ">6</span><span style="color: #000000; ">};<br /> </span><span style="color: #008080; ">42</span> <span style="color: #000000; ">    array_stat</span><span style="color: #000000; "><</span><span style="color: #000000; ">10</span><span style="color: #000000; ">></span><span style="color: #000000; "> stat(arr);<br /> </span><span style="color: #008080; ">43</span> <span style="color: #000000; ">    stat();<br /> </span><span style="color: #008080; ">44</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">45</span> <span style="color: #000000; ">}<br /> </span></div> <br /><a >婧愪唬鐮?/a><img src ="http://www.shnenglu.com/everyday/aggbug/202841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/everyday/" target="_blank">everyday</a> 2013-08-29 10:24 <a href="http://www.shnenglu.com/everyday/archive/2013/08/29/202841.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>絎琻鏉按http://www.shnenglu.com/everyday/archive/2013/08/01/202274.htmleverydayeverydayThu, 01 Aug 2013 05:43:00 GMThttp://www.shnenglu.com/everyday/archive/2013/08/01/202274.htmlhttp://www.shnenglu.com/everyday/comments/202274.htmlhttp://www.shnenglu.com/everyday/archive/2013/08/01/202274.html#Feedback0http://www.shnenglu.com/everyday/comments/commentRss/202274.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/202274.html闃呰鍏ㄦ枃

everyday 2013-08-01 13:43 鍙戣〃璇勮
]]>
闈㈣瘯棰橈細鐔熸倝鐨勯檶鐢熶漢http://www.shnenglu.com/everyday/archive/2013/07/19/201944.htmleverydayeverydayFri, 19 Jul 2013 01:52:00 GMThttp://www.shnenglu.com/everyday/archive/2013/07/19/201944.htmlhttp://www.shnenglu.com/everyday/comments/201944.htmlhttp://www.shnenglu.com/everyday/archive/2013/07/19/201944.html#Feedback0http://www.shnenglu.com/everyday/comments/commentRss/201944.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/201944.html
棰樼洰涔嶄竴鐪嬶紝鎰熻鍍忔槸鍥捐繛閫氱殑闂銆傜粏緇嗗搧浜嗕笅錛岃矊浼間笉鏄淮銆?nbsp; 闃呰鍏ㄦ枃

everyday 2013-07-19 09:52 鍙戣〃璇勮
]]>
綆楁硶棰橈細涓涓笉鑳藉皯http://www.shnenglu.com/everyday/archive/2013/07/18/201921.htmleverydayeverydayThu, 18 Jul 2013 02:14:00 GMThttp://www.shnenglu.com/everyday/archive/2013/07/18/201921.htmlhttp://www.shnenglu.com/everyday/comments/201921.htmlhttp://www.shnenglu.com/everyday/archive/2013/07/18/201921.html#Feedback0http://www.shnenglu.com/everyday/comments/commentRss/201921.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/201921.html闃呰鍏ㄦ枃

everyday 2013-07-18 10:14 鍙戣〃璇勮
]]>
鎷彿鍖歸厤闂http://www.shnenglu.com/everyday/archive/2013/07/13/201771.htmleverydayeverydaySat, 13 Jul 2013 09:20:00 GMThttp://www.shnenglu.com/everyday/archive/2013/07/13/201771.htmlhttp://www.shnenglu.com/everyday/comments/201771.htmlhttp://www.shnenglu.com/everyday/archive/2013/07/13/201771.html#Feedback0http://www.shnenglu.com/everyday/comments/commentRss/201771.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/201771.html
鏈夋病鏈夌◢寰ソ鐐圭殑綆楁硶鍛紵浠嬬粛涓椂闂碠(n), 絀洪棿O(1)鐨勭畻娉曘?br />
鏃㈢劧鎴戜滑鍙槸瑕佹壘鍑烘嫭鍙鋒湁娌℃湁鍖歸厤灝辮浜嗭紝閭f垜浠敤涓縐嶆柟寮忚涓嬪乏鎷彿鍜屽彸鎷彿鐨勬鏁頒笉灝卞彲浠ヤ簡錛屼緥濡俵eft_count, right_count銆傚畠浠殑宸負0涓嶅氨濂戒簡錛熷彧瑕佷笉涓?錛岃偗瀹氬氨涓嶅尮閰嶄簡錛屽鍚э紵鏇磋繘涓姝ワ紝涓哄暐闈炶鐢?涓彉閲忓憿錛屼竴涓氨澶熶簡鍢涖傞亣鍒板乏鎷彿++錛岄亣鍒板彸鎷彿--錛屾渶鍚庝負0鍗沖尮閰嶃?br />
 1 bool is_brackets_match(char *const input) {
 2     if (input != nullptr) {
 3         char *p = input;
 4         int count = 0;
 5 
 6         while (*p != '\0') {
 7             if (*p == '(')
 8                 ++count;
 9             else if (*p == ')')
10                 --count;
11 
12             p++;
13         }
14 
15         if (count == 0)
16             return true;
17     }
18     return false;
19 }


everyday 2013-07-13 17:20 鍙戣〃璇勮
]]>
Magic Indexhttp://www.shnenglu.com/everyday/archive/2013/07/12/201732.htmleverydayeverydayFri, 12 Jul 2013 06:25:00 GMThttp://www.shnenglu.com/everyday/archive/2013/07/12/201732.htmlhttp://www.shnenglu.com/everyday/comments/201732.htmlhttp://www.shnenglu.com/everyday/archive/2013/07/12/201732.html#Feedback1http://www.shnenglu.com/everyday/comments/commentRss/201732.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/201732.html#闈㈣瘯緙栫▼棰?緇欏畾涓涓暟緇凙錛屽叾涓湁涓涓綅緗縐頒負Magic Index錛屽惈涔夋槸錛氬鏋渋鏄疢agic Index錛屽垯A[i] = i銆傚亣璁続涓殑鍏冪礌閫掑鏈夊簭銆佷笖涓嶉噸澶嶏紝璇風粰鍑烘柟娉曪紝鎵懼埌榪欎釜Magic Index銆傚綋A涓厑璁告湁閲嶅鐨勫厓绱狅紝璇ユ庝箞鍔炲憿錛?/div>
絎竴涓紝涓嶉噸澶嶏紝寰堢畝鍗曪紝鐢ㄤ簩鍒嗘煡鎵懼氨OK浜嗐傚鍚?br />
 1 int find_magic_index2(int *list, int count) {
 2     int low = 0, high = count - 1;
 3     while (high > low) {
 4         int idx = (high + low) / 2;
 5         if (idx == list[idx])
 6             return idx;
 7         else if (list[idx] > idx) {
 8             high = idx - 1;
 9         }
10         else 
11             low = idx + 1;
12     }
13 
14     return -1;
15 }

絎簩涓紝鍙噸澶嶇殑錛岃鎬庝箞鍔?浠庡ご鍒板熬璧頒竴杈癸紝鎬誨綊鏄彲浠ョ殑鍢涖?)銆傛垜鐨勬兂娉曟槸錛屽鏋渁[i]絳変簬i鐨勮瘽錛屾壘鍒頒簡錛涘鏋滃ぇ浜巌鐨勮瘽錛岃i=a[i]錛屼笉鐒秈++緇х畫鎵俱傝繖鏍鋒渶宸殑鎯呭喌鎵嶆槸O(n)
鑷充簬涓轟粈涔堝彲浠ヨi=a[i]錛屽師鍥犵敱浜庢暟鍒楁槸閫掑鐨勶紝鎵浠ユ暟緇勫厓绱犲湪{i, a[i]}鐨勫尯闂翠腑錛岃偗瀹氫笉鍙兘瀛樺湪magic index銆傝繖鏍風湅涓婂幓鏄笉鏄煩璺冪潃鍓嶈繘鍟娿?)
 1 int find_magic_index (int *list, int count) {
 2     int i=0;
 3     while (i<count) {
 4         if (list[i] == i)
 5             return i;
 6         else if (list[i] > i)
 7             i = list[i];
 8         else
 9             i++;
10     }
11     return -1;
12 }


everyday 2013-07-12 14:25 鍙戣〃璇勮
]]>
鍗曢摼琛ㄧ殑蹇熸帓搴?/title><link>http://www.shnenglu.com/everyday/archive/2013/07/12/201727.html</link><dc:creator>everyday</dc:creator><author>everyday</author><pubDate>Fri, 12 Jul 2013 05:41:00 GMT</pubDate><guid>http://www.shnenglu.com/everyday/archive/2013/07/12/201727.html</guid><wfw:comment>http://www.shnenglu.com/everyday/comments/201727.html</wfw:comment><comments>http://www.shnenglu.com/everyday/archive/2013/07/12/201727.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/everyday/comments/commentRss/201727.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/everyday/services/trackbacks/201727.html</trackback:ping><description><![CDATA[鍗曢摼琛ㄧ殑蹇熸帓搴?br />鍗曢摼琛ㄧ殑蹇熸帓搴忚窡鏁扮粍鐨勬帓搴忓師鐞嗕笂涓鑷達紝鏈変竴涓垎鍖猴紙鍖哄垎錛夌殑鍑芥暟鍦ㄤ竴涓尯闂翠腑閽堝鏌愪釜鏍囨潌鍊艱繘琛屽尯鍒嗭紝姣斿畠澶х殑鏀懼畠鍚庨潰錛屾瘮瀹冨皬鐨勬斁瀹冨墠闈紝騫惰繑鍥炲畠鐨勫湴鍧錛屽ソ瀵瑰畠鍓嶉潰鐨勪互鍙婂畠鍚庨潰鐨勯掑綊銆?br /><br />鍗曢摼琛ㄧ殑蹇熸帓搴忚窡鏁扮粍鏈変釜鏄庢樉鐨勫尯鍒紝灝辨槸鎸囩ず璧峰鍜岀粓姝㈢殑鍏冪礌錛屽湪涓杞箣鍚庡畠浠湪閾捐〃涓殑浣嶅瓙浼氬彂鐢熸敼鍙橈紝鎵浠ラ渶瑕佽繑鍥炰竴涓柊鐨勮搗濮嬬殑浣嶇疆錛堢粓姝㈢殑浣嶇疆錛?br />鎴戠殑綆楁硶涓繪槸鎷垮悗涓涓殑鑺傜偣浣滀負緇堟浣嶇疆錛屾墍浠ュ畠鍦ㄩ摼琛ㄤ腑鐨勪綅瀛愬叾瀹炴槸涓嶆敼鍙樼殑錛屾墍浠ユ垜鍙慨鏀逛簡璧峰浣嶇疆鎸囧悜鏂扮殑璧峰浣嶇疆鍗沖彲銆?br /><br />鎴戠殑綆楁硶鏄紝鐢?涓摼琛紝涓涓斁姣斿畠澶х殑涓涓斁姣斿畠灝忕殑錛屾渶鍚庢帴璧鋒潵錛屽畠鐨勪綅緗氨鏄痬id錛岃屽叾瀹炰綅緗氨鏄綋鍒濊搗濮嬬殑鍓嶄竴涓妭鐐瑰湪鏂伴摼琛ㄤ腑鐨刵ext銆傛湁鐐規嫍鍙o紝灝辨槸璇碼->start->...->nullptr錛岃繖涓杞紶榪涙潵鐨勬槸start錛岄偅涔堢粡榪囪繖杞殑鍒嗗尯涔嬪悗錛宻tart鐨勪綅緗偗瀹氭敼鍙樹簡錛屽鍚э紵浣嗘槸a->next鐨勫湴鍧娌℃湁鏀瑰彉錛屽嵆&(a->next)錛屽洜涓簊tart涔嬪墠鐨勯兘浼氬師灝佷笉鍔ㄧ殑鏀懼湪閭i噷銆傛垜瑙夊緱鐢ㄦ寚閽堢殑鍦板潃鏉ュ鐞嗘槸榪欓噷鐨勫叧閿箣澶勫惂銆?br /><br /><img src="http://www.shnenglu.com/images/cppblog_com/everyday/QuickSort.png" alt="" height="469" border="0" width="812" /><br />榪欐槸涓杞畃artition涔嬪墠鍜屼箣鍚庣殑鍥劇ず錛屼箣鍚庡氨瀵逛簬(begin, mid)鍜岋紙mid->next, end)榪涜蹇熸帓搴忓嵆鍙?br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #008000; ">//</span><span style="color: #008000; "> Problem: sort a singly link list by Quick Sort</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 2</span> <span style="color: #008000; "></span><span style="color: #000000; ">node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">partition(list </span><span style="color: #000000; ">&</span><span style="color: #000000; ">l, node </span><span style="color: #000000; ">*&</span><span style="color: #000000; ">begin, node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">end </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nullptr) {<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> if end is the next node, that means it's only one node to sort</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 4</span> <span style="color: #008000; "></span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (begin </span><span style="color: #000000; ">==</span><span style="color: #000000; "> nullptr </span><span style="color: #000000; ">||</span><span style="color: #000000; "> end </span><span style="color: #000000; ">==</span><span style="color: #000000; "> begin</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next) {<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> nullptr;<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">    list small_list, big_list;<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">    node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> l.root;<br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">    node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">pivot </span><span style="color: #000000; ">=</span><span style="color: #000000; "> begin;<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">    node </span><span style="color: #000000; ">**</span><span style="color: #000000; ">pbegin;          </span><span style="color: #008000; ">//</span><span style="color: #008000; "> points to the address of begin</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">12</span> <span style="color: #008000; "></span><span style="color: #000000; ">    node </span><span style="color: #000000; ">**</span><span style="color: #000000; ">s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">small_list.root, </span><span style="color: #000000; ">**</span><span style="color: #000000; ">b_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">big_list.root;<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> move previous nodes before 'begin' to small list</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">15</span> <span style="color: #008000; "></span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (current </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> begin) {<br /></span><span style="color: #008080; ">16</span> <span style="color: #000000; ">        </span><span style="color: #000000; ">*</span><span style="color: #000000; ">s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current;<br /></span><span style="color: #008080; ">17</span> <span style="color: #000000; ">        s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">s_current)</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next;<br /></span><span style="color: #008080; ">18</span> <span style="color: #000000; ">        current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> current</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next;<br /></span><span style="color: #008080; ">19</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">20</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">21</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> pbegin presents the location(address) of begin item, e.g. if (a->next == begin) then pbegin = &a->next;</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">22</span> <span style="color: #008000; "></span><span style="color: #000000; ">    pbegin </span><span style="color: #000000; ">=</span><span style="color: #000000; "> s_current;<br /></span><span style="color: #008080; ">23</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">24</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (begin </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> end) {<br /></span><span style="color: #008080; ">25</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (begin</span><span style="color: #000000; ">-></span><span style="color: #000000; ">data </span><span style="color: #000000; "><</span><span style="color: #000000; "> pivot</span><span style="color: #000000; ">-></span><span style="color: #000000; ">data) {<br /></span><span style="color: #008080; ">26</span> <span style="color: #000000; ">            </span><span style="color: #000000; ">*</span><span style="color: #000000; ">s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> begin;<br /></span><span style="color: #008080; ">27</span> <span style="color: #000000; ">            s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">s_current)</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next;<br /></span><span style="color: #008080; ">28</span> <span style="color: #000000; ">        }<br /></span><span style="color: #008080; ">29</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br /></span><span style="color: #008080; ">30</span> <span style="color: #000000; ">            </span><span style="color: #000000; ">*</span><span style="color: #000000; ">b_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> begin;<br /></span><span style="color: #008080; ">31</span> <span style="color: #000000; ">            b_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">b_current)</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next;<br /></span><span style="color: #008080; ">32</span> <span style="color: #000000; ">        }<br /></span><span style="color: #008080; ">33</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">34</span> <span style="color: #000000; ">        begin </span><span style="color: #000000; ">=</span><span style="color: #000000; "> begin</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next;<br /></span><span style="color: #008080; ">35</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">36</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">37</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> pass begin back to quick_sort for next sort action</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">38</span> <span style="color: #008000; "></span><span style="color: #000000; ">    begin </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">pbegin;<br /></span><span style="color: #008080; ">39</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">40</span> <span style="color: #000000; ">    </span><span style="color: #000000; ">*</span><span style="color: #000000; ">b_current</span><span style="color: #000000; ">=</span><span style="color: #000000; "> end;<br /></span><span style="color: #008080; ">41</span> <span style="color: #000000; ">    </span><span style="color: #000000; ">*</span><span style="color: #000000; ">s_current </span><span style="color: #000000; ">=</span><span style="color: #000000; "> big_list.root;<br /></span><span style="color: #008080; ">42</span> <span style="color: #000000; ">    l </span><span style="color: #000000; ">=</span><span style="color: #000000; "> small_list;<br /></span><span style="color: #008080; ">43</span> <span style="color: #000000; ">    l.print();<br /></span><span style="color: #008080; ">44</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">45</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> current pivot would be the end node for smaller set sorting</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">46</span> <span style="color: #008000; "></span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> big_list.root;<br /></span><span style="color: #008080; ">47</span> <span style="color: #000000; ">}<br /></span><span style="color: #008080; ">48</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">49</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> quick_sort(list </span><span style="color: #000000; ">&</span><span style="color: #000000; ">l, node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">begin, node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">end </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nullptr) {<br /></span><span style="color: #008080; ">50</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (begin </span><span style="color: #000000; ">==</span><span style="color: #000000; "> end) {<br /></span><span style="color: #008080; ">51</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">52</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">53</span> <span style="color: #000000; ">    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> mid represents the pivot node which is the next node of the end of the small list</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">54</span> <span style="color: #008000; "></span><span style="color: #000000; ">    node </span><span style="color: #000000; ">*</span><span style="color: #000000; ">mid </span><span style="color: #000000; ">=</span><span style="color: #000000; "> partition(l, begin, end);<br /></span><span style="color: #008080; ">55</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">56</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (mid </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> nullptr){<br /></span><span style="color: #008080; ">57</span> <span style="color: #000000; ">        quick_sort(l, begin, mid);<br /></span><span style="color: #008080; ">58</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">59</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">60</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (mid </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> nullptr </span><span style="color: #000000; ">&&</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">61</span> <span style="color: #000000; ">        mid</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> nullptr) {        <br /></span><span style="color: #008080; ">62</span> <span style="color: #000000; ">        quick_sort(l, mid</span><span style="color: #000000; ">-></span><span style="color: #000000; ">next, end);<br /></span><span style="color: #008080; ">63</span> <span style="color: #000000; ">    }<br /></span><span style="color: #008080; ">64</span> <span style="color: #000000; ">}</span></div><br /><a >浠g爜</a> <img src ="http://www.shnenglu.com/everyday/aggbug/201727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/everyday/" target="_blank">everyday</a> 2013-07-12 13:41 <a href="http://www.shnenglu.com/everyday/archive/2013/07/12/201727.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>钃勬按姹犳娊鏍?/title><link>http://www.shnenglu.com/everyday/archive/2013/07/03/201484.html</link><dc:creator>everyday</dc:creator><author>everyday</author><pubDate>Wed, 03 Jul 2013 01:29:00 GMT</pubDate><guid>http://www.shnenglu.com/everyday/archive/2013/07/03/201484.html</guid><wfw:comment>http://www.shnenglu.com/everyday/comments/201484.html</wfw:comment><comments>http://www.shnenglu.com/everyday/archive/2013/07/03/201484.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/everyday/comments/commentRss/201484.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/everyday/services/trackbacks/201484.html</trackback:ping><description><![CDATA[yeah. 棣栧厛瑕佹伃鍠滀笅鑷繁錛屾槰澶╃殑<a href="http://www.shnenglu.com/everyday/archive/2013/07/02/201473.html">綆楁硶</a>钂欏浜嗭紝璇風湅<a >@闄堝埄浜?/a> 鐨?a >甯栧瓙</a>銆?銆愰紦鎺屻戙愰紦鎺屻?)<br /><div><h1>緇忓吀闈㈣瘯棰橈細钃勬按姹犳娊鏍?/h1></div><div><p>瑕佹眰浠嶯涓厓绱犱腑闅忔満鐨勬娊鍙杒涓厓绱狅紝鍏朵腑N鏃犳硶紜畾銆?/p><p>榪欑搴旂敤鐨勫満鏅竴鑸槸鏁版嵁嫻佺殑鎯呭喌涓嬶紝鐢變簬鏁版嵁鍙兘琚鍙栦竴嬈★紝鑰屼笖鏁版嵁閲忓緢澶э紝騫朵笉鑳藉叏閮ㄤ繚瀛橈紝鍥犳鏁版嵁閲廚鏄棤娉曞湪鎶芥牱寮濮嬫椂紜畾鐨勶紱浣嗗張瑕佷繚鎸侀殢鏈烘э紝浜庢槸鏈変簡榪欎釜闂銆傛墍浠ユ悳绱㈢綉绔欐湁鏃跺欎細闂繖鏍風殑闂銆?/p><p>榪欓噷鐨勬牳蹇冮棶棰樺氨鏄?#8220;闅忔満”錛屾庝箞鎵嶈兘鏄殢鏈虹殑鎶藉彇鍏冪礌鍛紵鎴戜滑璁炬兂錛屼拱褰╃エ鐨勬椂鍊欙紝鐢變簬鎵鏈夊僵紲ㄧ殑涓姒傜巼閮芥槸涓鏍風殑錛屾墍浠ユ垜浠墠鏄?#8220;闅忔満鐨?#8221;涔板僵紲ㄣ傞偅涔堣浣挎娊鍙栨暟鎹篃闅忔満錛屽繀欏諱嬌姣忎竴涓暟鎹鎶芥牱鍑烘潵鐨勬鐜囬兘涓鏍楓?/p><p><br /></p><p>鍝庡憖濡堝憖錛岃繖棰樼洰涓澶╂瘮涓澶╅毦鍟娿傜洰嫻嬫悶涓嶅畾鍟娿?/p><p>鍦ㄧ彮杞︿笂綆鍗曞垎鏋愪簡涓嬶紝N鐨勫艱鍒版渶鍚庢墠鐭ラ亾錛屼粠N涓噷闈㈡娊k涓厓绱狅紝瑕佹槸姒傜巼鐭ヨ瘑娌℃湁閮借繕緇欒佸笀鐨勮瘽錛屾瘡涓厓绱犺鎶戒腑鐨勬鐜囨槸C<sub>N</sub><sup>k</sup>錛屽涓嶏紵鍞旓紝鏃㈢劧鍦∟鐭ラ亾涔嬪墠錛屽氨瑕佷竴鏍鋒鐜囩殑鎶藉彇k涓厓绱狅紝閭f垜鑳戒笉鑳界寽鎯蟲渶鍚庣殑綆楁硶鍏跺疄鏄窡N鏃犲叧鐨勫憿錛熶笉綆℃庝箞鏍峰厛鎸栦釜鍧戝啀璇達紝鐩祴榪欎釜鍧戜笉涓瀹氳兘濉笂銆?D<br /></p></div><img src ="http://www.shnenglu.com/everyday/aggbug/201484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/everyday/" target="_blank">everyday</a> 2013-07-03 09:29 <a href="http://www.shnenglu.com/everyday/archive/2013/07/03/201484.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎵懼嚭鏈嫻佽鎼滅儲璇?/title><link>http://www.shnenglu.com/everyday/archive/2013/07/02/201473.html</link><dc:creator>everyday</dc:creator><author>everyday</author><pubDate>Tue, 02 Jul 2013 13:10:00 GMT</pubDate><guid>http://www.shnenglu.com/everyday/archive/2013/07/02/201473.html</guid><wfw:comment>http://www.shnenglu.com/everyday/comments/201473.html</wfw:comment><comments>http://www.shnenglu.com/everyday/archive/2013/07/02/201473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/everyday/comments/commentRss/201473.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/everyday/services/trackbacks/201473.html</trackback:ping><description><![CDATA[鏈鐩嚭鑷?a node-type="feed_list_originNick" s_func3"="" title="闄堝埄浜? usercard="id=1915548291" nick-name="闄堝埄浜? style="text-decoration: none; color: #49976b; font-size: 12px; font-weight: bold; line-height: 19px; font-family: Arial, Helvetica, sans-serif; background-color: #f2f2f2;">@闄堝埄浜?/a><br /><br /><span style="font-size: 18pt;">闂錛?br /></span><a class="a_topic" style="color: #49976b; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px; background-color: #f2f2f2;">#Google闈㈣瘯棰?</a><span style="color: #33463f; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px; background-color: #f2f2f2;">緇欎綘涓澶╃殑Google鎼滅儲鏃ュ織錛屼綘鎬庝箞璁捐綆楁硶鎵懼嚭鏄惁鏈変竴涓悳绱㈣瘝錛屽畠鍑虹幇鐨勯鐜囧崰鎵鏈夋悳绱㈢殑涓鍗婁互涓婏紵濡傛灉鑲畾鏈変竴涓悳绱㈣瘝鍗犲ぇ澶氭暟錛屼綘鑳芥庝箞鎻愰珮浣犵殑綆楁硶鎵懼埌瀹冿紵鍐嶅亣瀹氭悳绱㈡棩蹇楀氨鏄唴瀛樹腑鐨勪竴涓暟緇勶紝鑳藉惁鏈塐(1)絀洪棿錛孫(n)鏃墮棿鐨勭畻娉曪紵<br /><br /></span>鍒氱湅鍒拌繖涓鐩殑鏃墮棿鍚撳潖浜嗭紝濂介毦鍟婏紝鏃犱粠涓嬫墜鍟婏紝涓鴻嚜宸辯殑涔嬩笂鎹夋ュ晩銆傘備笅鐝殑鐝濺涓婂紑濮嬫兂榪欎釜闂錛屽紑濮嬪垎鏋愶紝鍏跺疄榪欎釜鎼滅儲鏃ュ織灝辨槸涓涓悳绱㈣瘝鐨勯泦鍚堝槢錛岀敪綆″畠鏈夊澶э紝鎬誨彲浠ュ垎鎴愯嫢騫插爢鍚с傛棦鐒惰繖涓悳绱㈣瘝瓚呰繃涓鍗婏紝閭d箞鍦ㄨ繖鑻ュ共鍫嗕腑鍒嗗埆鎵懼嚭鏉ユ渶嫻佽鐨勮瘝涓紝涔熷簲璇ュ崰涓鍗婂惂銆傦紙榪欎釜搴旇娌℃湁鐞嗚В閿欏惂銆傦級<br /><br />榪欎釜鏃跺欐垜鎯沖彲浠ユ妸闂杞崲鎴愪竴涓暣鏁版暟緇勶紝鍏朵腑鏈変釜鏁存暟鍑虹幇鐨勬鏁拌秴榪囦竴鍗婏紝鎵懼嚭榪欎釜鏁存暟灝監K浜嗗惂銆傝鎵懼嚭榪欎釜鏁扮粍涓嚭鐜版鏁拌秴涓鍗婄殑鍊鹼紝鏈韓榪欎釜綆楁硶搴旇寰堢畝鍗曪紝浣嗘槸O(1)絀洪棿鍜孫(n)鐨勬椂闂村鏉傚害錛岃繕鏄湁鐐逛激鑴戠瓔鐨勩傘?(錛屽唴瀛樺張涓嶈吹錛屼負鍟(1)鍟娿傘?br /><br />鍥犱負閭d釜鏁板瓧鍑虹幇鐨勬鏁拌秴榪囦竴鍗婏紝鎴戜滑鍙互鎯寵薄涓涓嬶紝鎶婇偅涓暟瀛楁爣鎴?錛屽叾瀹冪殑閮芥槸-1錛屾妸鎵鏈夌殑鏁板瓧鍔犺搗鏉ヨ偗瀹氬ぇ浜?錛屽鍚э紵鍥犱負瓚呰繃涓鍗婂槢銆傘傝繖涓椂鍊欑伒鍏変箥鐜幫紝鐢ㄤ竴涓爣鏉嗘潵鏍囧織娼滃湪鐨勯偅涓悳绱㈣瘝錛屼竴涓暣鏁癱ount琛ㄧず瀹冨嚭鐜扮殑嬈℃暟錛堝噯紜殑璇翠笉鏄畠鐨勬鏁幫紝鍚庨潰浼氳В閲婏級錛岄亶鍘嗘暣涓暟緇?br />1)   濡傛灉褰撳墠鐨勮窡鏍囨潌涓鏍鳳紝count++<br />2)   濡傛灉涓嶇浉絳夛紝--count錛岃嫢姝ゆ椂count涓?錛屽垯鎶婂綋鍓嶅肩疆涓烘爣鏉嗭紝count涓?<br />閲嶅1), 2)鍗沖彲錛屾渶鍚庨偅涓爣鏉嗗嵆涓烘渶嫻佽鎼滅儲璇嶃?br /><br />浠g爜綆鍗曠殑鎴戜笉鑳界浉淇★紝浠ヨ嚦浜庢垜瑙夊緱鎴戣偗瀹氱悊瑙i敊璇鐩殑鎰忔濅簡錛屼笉綆℃庝箞鏍蜂笂涓?a >浠g爜</a>錛?span style="font-size: 13px; color: #008080;"> <br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #008000; ">//</span><span style="color: #008000; "> Get the most popular searching keyword in Google. :)</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 2</span> <span style="color: #008000; "></span>template<typename T><br /><span style="color: #008080; "> 3</span> T get_most_popular_keyword(<span style="color: #0000FF; ">const</span> T *list, <span style="color: #0000FF; ">int</span> size) {<br /><span style="color: #008080; "> 4</span>     T result = list[0];<br /><span style="color: #008080; "> 5</span>     <span style="color: #0000FF; ">int</span> count = 0;<br /><span style="color: #008080; "> 6</span> <br /><span style="color: #008080; "> 7</span>     <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">int</span> i=0; i<size; i++) {<br /><span style="color: #008080; "> 8</span>         <span style="color: #0000FF; ">if</span> (list[i] == result)<br /><span style="color: #008080; "> 9</span>             count++;<br /><span style="color: #008080; ">10</span>         <span style="color: #0000FF; ">else</span> {<br /><span style="color: #008080; ">11</span>             <span style="color: #0000FF; ">if</span> (--count == 0) {<br /><span style="color: #008080; ">12</span>                 count = 1;<br /><span style="color: #008080; ">13</span>                 result = list[i];<br /><span style="color: #008080; ">14</span>             }<br /><span style="color: #008080; ">15</span>         }<br /><span style="color: #008080; ">16</span>     }<br /><span style="color: #008080; ">17</span> <br /><span style="color: #008080; ">18</span>     <span style="color: #0000FF; ">return</span> result;<br /><span style="color: #008080; ">19</span> }</div><img src ="http://www.shnenglu.com/everyday/aggbug/201473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/everyday/" target="_blank">everyday</a> 2013-07-02 21:10 <a href="http://www.shnenglu.com/everyday/archive/2013/07/02/201473.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[澶辮觸鐨勬寫鎴榏: 姹備袱涓崟閾捐〃鐨勫拰 http://www.shnenglu.com/everyday/archive/2013/07/02/201450.htmleverydayeverydayTue, 02 Jul 2013 01:51:00 GMThttp://www.shnenglu.com/everyday/archive/2013/07/02/201450.htmlhttp://www.shnenglu.com/everyday/comments/201450.htmlhttp://www.shnenglu.com/everyday/archive/2013/07/02/201450.html#Feedback0http://www.shnenglu.com/everyday/comments/commentRss/201450.htmlhttp://www.shnenglu.com/everyday/services/trackbacks/201450.html
棰樼洰
涓や釜鍗曢摼琛紙singly linked list錛夛紝姣忎竴涓妭鐐歸噷闈竴涓?-9鐨勬暟瀛楋紝 杈撳叆灝辯浉褰撲簬涓や釜澶ф暟浜嗐傜劧鍚庤繑鍥炶繖涓や釜鏁扮殑鍜岋紙涓涓柊list錛夈傝繖涓や釜杈撳叆鐨刲ist 闀垮害鐩哥瓑銆?瑕佹眰鏄細1. 涓嶇敤閫掑綊銆?. 瑕佹眰綆楁硶鍦ㄦ渶濂界殑鎯呭喌涓嬶紝鍙亶鍘嗕袱涓猯ist涓嬈★紝 鏈宸殑鎯呭喌涓嬩袱閬嶃?/div>
鎴戠殑綆楁硶鏄細 2嬈¢亶鍘嗘槸鑲畾鑳界殑錛岀涓嬈$浉鍔犲茍浠ュ掑簭瀛橈紝絎簩嬈¤繘浣嶅茍鍊掑簭銆備竴嬈?涓ゆ鐨勭畻娉曪紝鐢?涓寚閽堬紝涓涓寚閽變竴涓紝鍙︿竴涓寚鍚戝啀鍓嶄竴涓紝鍙︿竴涓猣lag鏍囧織鏄惁璧扮浜岃疆銆傚彧鏈夊墠鍓嶄綅鏈夎繘浣峟lag緗畉rue璺戠浜屾銆?

涓哄暐褰撴椂浼氭湁榪欐牱鐨勬兂娉曞憿錛熷洜涓烘墍鏈夋暟瀛楅兘鏄?锝?錛屾墍浠ユ垜鍋囪浜嗙涓杞殑鐩稿姞鍜岃繘浣嶈兘鎶婂ぇ閮ㄥ垎璇ヨ繘浣嶇殑閮借繘浜嗭紝鎵浠ュ鏋滃瓨鍦ㄩ渶瑕佺浜岃疆鐨勮瘽錛屾壘鍑洪偅涓潯浠跺氨濂戒簡銆傚綋鏃跺氨娌跨潃榪欎釜鎬濊礬璧頒簡銆傚綋鐒跺ぇ閮ㄥ垎鎯呭喌涓嬭繖涓畻娉曟槸鍙鐨勶紝浣嗘槸榪欓噷鏈変釜寰堟槑鏄劇殑婕忔礊錛屽綋鏃惰鑳滃埄鍐叉槒澶磋剳鐨勬垜鎬庝箞浼氭兂鐨勫埌鍛紵灝辨槸涓寮濮嬫病鏈夊嚭鐜拌繘浣嶏紝鍚庢潵榪炵畫榪涗綅鐨勬儏鍐碉紝濡?a >@璧靛皬緗?/a>榪欎綅鏈嬪弸璁捐鐨勭敤渚?1000001+9999999銆備竴騫舵劅璋㈠叾浠栨寚鍑洪敊璇殑緗戝弸銆?br />
濡傛灉鏈変漢鎯蟲鐫閯欒鐨勫績鎬佺湅涓嬫垜閿欒鐨勪唬鐮侊紝璇風偣鍑?#8220;
鍙﹀鏈変釜楂樻墜鍋氫簡涓涓畻娉曪紝鎬繪槸鍙涓嬈″氨鑳芥悶瀹氱殑銆侤hawstein璇︽儏瑙?#8220;
姹備袱涓崟閾捐〃鐨勫拰” 灝煎鐨勪笉寰椾簡銆備粬鐨勭綉绔欎笂榪樻湁涓嶅皯濂戒笢瑗垮憿銆傚浜庝粬鐨勭畻娉曪紝鎴戞湁涓敼榪涚殑寤鴻灝辨槸錛屼互浠栫殑綆楁硶瀹屽叏娌℃湁蹇呰鍗曠嫭鑰冭檻絎竴涓妭鐐圭殑鎯呭喌錛屽湪閬嶅巻緇撴潫鍚庯紝鍒ゆ柇涓嬬涓涓妭鐐規槸鍚﹀ぇ浜?灝監K浜嗭紝濡傛灉澶т簬9錛屾渶鍓嶉潰鎻掑叆涓涓妭鐐廣?img src ="http://www.shnenglu.com/everyday/aggbug/201450.html" width = "1" height = "1" />

everyday 2013-07-02 09:51 鍙戣〃璇勮
]]> 国产成人久久久精品二区三区| 久久综合视频网| 色88久久久久高潮综合影院| 无码AV波多野结衣久久| 国产亚洲欧美精品久久久| 国产—久久香蕉国产线看观看 | 97久久超碰国产精品2021| 久久久国产精品福利免费 | 久久久久人妻一区精品| 一本久久a久久精品亚洲| 91精品久久久久久无码| 欧美精品丝袜久久久中文字幕 | 欧美噜噜久久久XXX| 久久AAAA片一区二区| 久久精品国产亚洲av麻豆蜜芽| 久久亚洲欧美日本精品| 要久久爱在线免费观看| 18岁日韩内射颜射午夜久久成人| 久久人做人爽一区二区三区| segui久久国产精品| 日韩AV无码久久一区二区 | 久久99热狠狠色精品一区| 亚洲国产日韩欧美综合久久| 久久久久国产一级毛片高清版| 久久综合色老色| 国产免费久久精品丫丫| jizzjizz国产精品久久| 亚洲熟妇无码另类久久久| 无码任你躁久久久久久老妇| 日韩亚洲欧美久久久www综合网 | 亚洲狠狠综合久久| 久久精品午夜一区二区福利| 女人高潮久久久叫人喷水| 欧美午夜A∨大片久久| 国内精品久久久久久久影视麻豆| 青青青青久久精品国产h| 93精91精品国产综合久久香蕉| 久久精品一区二区三区不卡| 久久99久久99小草精品免视看| 久久成人精品视频| 日韩一区二区久久久久久|