新聞中心
傳送門:https://leetcode-cn.com/problems/find-the-duplicate-number/submissions/
給定一個包含 n + 1 個整數(shù)的數(shù)組 nums,其數(shù)字都在 1 到 n 之間(包括 1 和 n),可知至少存在一個重復的整數(shù)。假設只有一個重復的整數(shù),找出這個重復的數(shù)。

示例 1:
輸入: [1,3,4,2,2]
輸出: 2
示例 2:
輸入: [3,1,3,4,2]
輸出: 3
說明:
不能更改原數(shù)組(假設數(shù)組是只讀的)。
只能使用額外的 O(1) 的空間。
時間復雜度小于 O(n2) 。
數(shù)組中只有一個重復的數(shù)字,但它可能不止重復出現(xiàn)一次。
我的實現(xiàn)方法之前寫的博客也有,前提是數(shù)組中大的 數(shù)要小于數(shù)組長度
int findDuplicate(int* nums, int numsSize) {
int k, yl, sl;
for (int n=0;n> 16;
sl++;
nums[k]=(sl<<16) |(yl&0xffff );
}
for (int g=0;g< numsSize;g++)
{
k = nums[g];
yl = k >> 16;
if (yl > 1)
{
printf("%d\n", g);
return g;
}
}
return 0;
} 
速度還可以
就是修改了源數(shù)據(jù) 不知道在函數(shù)返回前再修改回去還可以不可以。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:LeetCode-287尋找重復數(shù)-創(chuàng)新互聯(lián)
本文鏈接:http://www.dlmjj.cn/article/digish.html


咨詢
建站咨詢
