• <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++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              12 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
            本文描述的是我自己的一個失敗的挑戰(zhàn)經(jīng)歷。

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

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

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

            如果有人想懷著鄙視的心態(tài)看下我錯誤的代碼,請點擊“
            另外有個高手做了一個算法,總是只要一次就能搞定的。@hawstein詳情見“
            求兩個單鏈表的和” 尼害的不得了。他的網(wǎng)站上還有不少好東西呢。對于他的算法,我有個改進(jìn)的建議就是,以他的算法完全沒有必要單獨考慮第一個節(jié)點的情況,在遍歷結(jié)束后,判斷下第一個節(jié)點是否大于9就OK了,如果大于9,最前面插入一個節(jié)點。
            posted on 2013-07-02 09:51 everyday 閱讀(437) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            亚洲精品无码久久久| 久久夜色tv网站| 伊人久久综合成人网| 精品国产乱码久久久久久1区2区| 亚洲伊人久久精品影院| 国产精品久久国产精麻豆99网站| 国产2021久久精品| 东方aⅴ免费观看久久av| 69SEX久久精品国产麻豆| 久久亚洲电影| 精品无码久久久久久尤物| 久久久久亚洲AV成人网| 无码人妻久久一区二区三区| 99久久国产热无码精品免费久久久久| 亚洲欧洲精品成人久久曰影片| 亚洲AV无码一区东京热久久| 欧美久久久久久精选9999| 久久精品www| 午夜精品久久久久久久| 香蕉aa三级久久毛片| 韩国无遮挡三级久久| 国产精品成人久久久| 99久久精品免费观看国产| 久久精品人人做人人爽97| 亚洲国产成人久久综合一区77| 国产精品久久久久天天影视| 久久久亚洲AV波多野结衣| 久久久久久亚洲精品不卡 | 欧美久久综合九色综合| 久久本道伊人久久| 精品久久久久中文字幕日本| 国产一区二区久久久| 久久天天躁狠狠躁夜夜2020老熟妇| 欧美综合天天夜夜久久| 99久久精品国产麻豆| 国产午夜精品久久久久免费视| 亚洲精品无码久久久久| 久久久久亚洲av成人网人人软件| 久久亚洲精品国产亚洲老地址| 欧美成a人片免费看久久| 欧美一级久久久久久久大片|