• <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>
            Wood_K
            See gull
            posts - 3,  comments - 7,  trackbacks - 0

            一個(gè)論壇中又一大“水王”,他不但喜歡發(fā)帖,還會(huì)回復(fù)其他ID發(fā)的每個(gè)帖子。該“水王”發(fā)帖數(shù)目超過(guò)了總數(shù)的一半。如果你又一個(gè)當(dāng)前論壇所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出這個(gè)傳說(shuō)中的水王嗎?

             

            分析與解法:

              首先想到的是一個(gè)最直接的方法,我們可以隊(duì)所有ID進(jìn)行排序。然后再掃描一遍排好序的ID列表,統(tǒng)計(jì)各個(gè)ID出現(xiàn)的次數(shù)。如果某個(gè)ID出現(xiàn)的次數(shù)超過(guò)總數(shù)的一半,那么就輸出這個(gè)ID。這個(gè)算法的時(shí)間復(fù)雜度為O(N*log2N+N)。

             

            如果一個(gè)ID出現(xiàn)的次數(shù)超過(guò)總數(shù)N的一半。那么,無(wú)論水王的ID是什么,這個(gè)有序的ID列表中的第N/2項(xiàng)(從0開(kāi)始編號(hào))一定會(huì)是這個(gè)ID(讀者可以試著證明一下)。省去重新掃描一遍列表,可以節(jié)省一點(diǎn)算法耗費(fèi)的時(shí)間。如果能夠迅速定位到列表的某一項(xiàng)(比如使用數(shù)組來(lái)存儲(chǔ)列表),除去排序的時(shí)間復(fù)雜度,后處理需要的時(shí)間為O(1)。

            如果每次刪除兩個(gè)不同的ID(不管是否包含“水王”的ID),那么,在剩下的ID列表中,“水王”ID出現(xiàn)的次數(shù)仍然超過(guò)總數(shù)的一半。看到這一點(diǎn)之后,就可以通過(guò)不斷重復(fù)這個(gè)過(guò)程,把ID列表中的ID總數(shù)降低(轉(zhuǎn)化為更小的問(wèn)題),從而得到問(wèn)題的答案。新的思路,避免了排序這個(gè)耗時(shí)的步驟,總的時(shí)間復(fù)雜度只有O(N),且只需要常數(shù)的額外內(nèi)存。

            posted on 2009-07-09 03:10 Wood_K 閱讀(1495) 評(píng)論(5)  編輯 收藏 引用

            FeedBack:
            # re: 尋找"發(fā)帖水王"
            2009-07-09 07:51 | u2u
            這個(gè)以前不是有講過(guò)了么?用Monte-Carlo的話,取10個(gè)元素進(jìn)行測(cè)試便已經(jīng)能獲得99.9%的正確率了。  回復(fù)  更多評(píng)論
              
            # re: 尋找"發(fā)帖水王"
            2009-07-09 09:11 | 李現(xiàn)民
            這個(gè)是編程之美里的題吧?  回復(fù)  更多評(píng)論
              
            # re: 尋找"發(fā)帖水王"
            2009-07-09 10:26 | Bill Hsu
            這題好多年了。。。  回復(fù)  更多評(píng)論
              
            # re: 尋找"發(fā)帖水王"
            2009-07-09 11:04 | 99讀書(shū)人
            不錯(cuò)呵呵  回復(fù)  更多評(píng)論
              
            # re: 尋找"發(fā)帖水王"
            2009-07-09 15:41 | 凡客誠(chéng)品
            你能快速找出這個(gè)傳說(shuō)中的水王  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理



            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類(lèi)

            文章檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲国产成人久久精品99| 久久久久久夜精品精品免费啦| 韩国无遮挡三级久久| 国产成人精品久久一区二区三区av| 久久精品无码免费不卡| 久久亚洲AV无码精品色午夜麻豆| 中文精品久久久久人妻| 精品精品国产自在久久高清| 久久精品国产黑森林| 久久久久久无码Av成人影院| 久久电影网2021| 77777亚洲午夜久久多人| 91久久国产视频| 无码人妻精品一区二区三区久久| 国产精品gz久久久| 午夜精品久久久久久毛片| 久久久精品国产Sm最大网站| 国产亚洲精品自在久久| 亚洲国产婷婷香蕉久久久久久| 99久久精品午夜一区二区| 精品无码久久久久国产动漫3d| 国产L精品国产亚洲区久久 | 精品无码久久久久国产| 一级A毛片免费观看久久精品| 狠狠久久亚洲欧美专区| 亚洲AV日韩精品久久久久久久| 国产午夜精品久久久久九九| 97久久超碰成人精品网站| 亚洲午夜久久久影院伊人| 日本亚洲色大成网站WWW久久| 99久久国产综合精品五月天喷水 | 国产亚洲精品久久久久秋霞| 欧美日韩中文字幕久久久不卡 | 日韩久久无码免费毛片软件| 久久中文字幕一区二区| 久久久久一区二区三区| 久久99精品久久久久久动态图| 久久久久亚洲AV成人片| 久久w5ww成w人免费| 国产精品一区二区久久国产| 成人午夜精品无码区久久|