• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coding everyday

            編程面試題 https://interview.codeplex.com

            C++博客 首頁 新隨筆 聯系 聚合 管理
              12 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
            本文描述的是我自己的一個失敗的挑戰經歷。

            題目
            兩個單鏈表(singly linked list),每一個節點里面一個0-9的數字, 輸入就相當于兩個大數了。然后返回這兩個數的和(一個新list)。這兩個輸入的list 長度相等。 要求是:1. 不用遞歸。2. 要求算法在最好的情況下,只遍歷兩個list一次, 最差的情況下兩遍。

            我的算法是: 2次遍歷是肯定能的,第一次相加并以倒序存,第二次進位并倒序。一次/兩次的算法,用2個指針,一個指錢一個,另一個指向再前一個,另一個flag標志是否走第二輪。只有前前位有進位flag置true跑第二次。

            為啥當時會有這樣的想法呢?因為所有數字都是0~9,所以我假設了第一輪的相加和進位能把大部分該進位的都進了,所以如果存在需要第二輪的話,找出那個條件就好了。當時就沿著這個思路走了。當然大部分情況下這個算法是可行的,但是這里有個很明顯的漏洞,當時被勝利沖昏頭腦的我怎么會想的到呢?就是一開始沒有出現進位,后來連續進位的情況,如@趙小罡這位朋友設計的用例 1000001+9999999。一并感謝其他指出錯誤的網友。

            如果有人想懷著鄙視的心態看下我錯誤的代碼,請點擊“
            另外有個高手做了一個算法,總是只要一次就能搞定的。@hawstein詳情見“
            求兩個單鏈表的和” 尼害的不得了。他的網站上還有不少好東西呢。對于他的算法,我有個改進的建議就是,以他的算法完全沒有必要單獨考慮第一個節點的情況,在遍歷結束后,判斷下第一個節點是否大于9就OK了,如果大于9,最前面插入一個節點。
            posted on 2013-07-02 09:51 everyday 閱讀(428) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            丁香色欲久久久久久综合网| 精品久久香蕉国产线看观看亚洲| 青青草国产97免久久费观看| 亚洲国产婷婷香蕉久久久久久| 亚洲中文字幕无码久久综合网 | 色悠久久久久久久综合网 | 国产午夜福利精品久久2021 | 亚洲国产成人久久综合一区77| 尹人香蕉久久99天天拍| 99久久精品国产高清一区二区| 青青青青久久精品国产h久久精品五福影院1421| 香蕉久久夜色精品国产尤物| 国产精品久久亚洲不卡动漫| 国产欧美久久久精品影院| 久久电影网一区| 亚洲人成网亚洲欧洲无码久久| 精品久久久久久无码人妻蜜桃| 中文字幕日本人妻久久久免费| 午夜精品久久影院蜜桃| 色噜噜狠狠先锋影音久久| 欧洲精品久久久av无码电影| 久久亚洲精品国产精品婷婷| 精品国产乱码久久久久久浪潮| 久久精品一区二区| 久久久久久午夜成人影院| 青青草原综合久久大伊人导航| 久久se精品一区二区影院| 久久天堂电影网| 一级做a爱片久久毛片| 91精品国产9l久久久久| 国产美女亚洲精品久久久综合 | 久久综合色之久久综合| 93精91精品国产综合久久香蕉| 97精品伊人久久大香线蕉app| 亚洲国产精品无码久久久蜜芽| 久久妇女高潮几次MBA| 中文国产成人精品久久不卡| 午夜精品久久久久久中宇| 久久久无码一区二区三区| 久久久无码精品亚洲日韩按摩 | 久久久久99精品成人片三人毛片 |