找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
感激所有對伊莉作出奉獻的人尊貴會員無限觀看附件圖片搞笑、娛樂、精彩的影片讓你看
神奇寶貝mega 無無修fc2julia中文kkbox
被爆炒的這個面試remasterjuq 436春羽しかinfernax鐵匠

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

河南商丘 男子不滿店

[繁]迷宮飯 - 15

(4月新番)[繁]Re:Mon

[繁]月光下的異世界之

[繁]無職轉生 第二季1

(4月新番)[繁]格林童
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 5739|回復: 6
打印上一主題下一主題

[問題]leetcode 461.hammingDistance[複製鏈接]

Rank: 1

帖子
235
積分
175 點
潛水值
6380 米
跳轉到指定樓層
樓主
發表於 2017-3-13 05:26 PM|只看該作者|倒序瀏覽
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
本帖最後由 阿次阿 於 2017-3-13 05:27 PM 編輯

小弟在做這題,要算兩字的漢明距離,0 ≦ x, y < 2^31

int hammingDistance(int x, int y) {
    int n;
    int key=0;
    for(n=31;n>=0;n--){
        if((x/(int)pow(2.0,n))==1){
            if((y/(int)pow(2.0,n))==1){
                x=x%(int)pow(2.0,n);
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

CoNsTaRwU 該用戶已被刪除
頭香
發表於 2017-3-14 06:18 PM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
未看先猜 int 溢位......
看到你有用 pow,提醒一下 gcc 的 pow 是 builtin function,小心使用

嗯…我猜應該是 pow 丟回 int 的時候溢位了,先試試看把 int 都改 long,ok 了再慢慢修
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
235
積分
175 點
潛水值
6380 米
3
發表於 2017-3-15 05:21 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
改完後就過了!
感謝大大
不過為何在網路上不能而我用vs2010就能跑...?

使用道具檢舉

CoNsTaRwU 該用戶已被刪除
4
發表於 2017-3-16 11:39 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
本帖最後由 CoNsTaRwU 於 2017-3-16 11:40 PM 編輯

因為 C 語言雖然會做 type checking,不過在某些(其實超多)地方的行為是不被 type checked 保證的

例如你這裡的 implicit cast long to int 就是其中一種

如果希望編譯器盡他所能在編譯時期幫你找到這些錯誤可以下對應的參數,M$VC 我不瞭解,我自己是喜歡用 clang,我會開 -Wall -Wextra -Weverything -pedantic
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 1

帖子
575
積分
196 點
潛水值
14681 米
5
發表於 2017-3-17 12:16 AM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
本帖最後由 ren1244 於 2017-3-17 12:20 AM 編輯

先解釋一下問題在哪裡:

當n=31時,「x/(int)pow(2.0,n)」會先計算231=2147483648。但是對32bit的int而言,所能儲存的最大值是2147483647。把2147483648轉換為最大只能儲存2147483647的int原本就有問題。也就是所謂的溢位了。不同編譯器處理方式可能不一樣。

既然題目已經說x,y都會小於231...
瀏覽完整內容,請先 註冊登入會員





若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 1

帖子
235
積分
175 點
潛水值
6380 米
6
發表於 2017-3-17 10:03 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
ren1244 發表於 2017-3-17 12:16 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

先解釋一下問題在哪裡:

當n=31時,「x/(int)pow(2.0,n)」會先計算2=2147483648。但是對32bit的int而言, ...

強大...受教了
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

帖子
100
積分
93 點
潛水值
9200 米
7
發表於 2017-5-4 09:53 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
其實就是計算 x xor y 的二進位表示法裡面有多少1

提供一個「二進位表示法裡面有多少1」很有名的作法

int a = x ^ y;
int cnt = 0;
while( a ){
   cnt += 1;
   a &= a-1;
}
return cnt;
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部