日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

寻找重复数—leetcode287

發(fā)布時間:2024/4/18 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 寻找重复数—leetcode287 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

給定一個包含?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)一次。

?

思路:二分查找,如果小于等于mid值的count>mid,那么重復數(shù)一定在left~mid之間,反之則在mid+1~right之間

class Solution { public:int findDuplicate(vector<int>& nums) {int num = nums.size()-1;int left = 1; int right = num;while(left<right){int mid = (left+right)>>1;int count = 0;for(int i=0;i<=num;++i){if(nums[i]<=mid){count++;}}if(count>mid){right = mid;}else{left = mid+1;}}return right;} };

?

總結

以上是生活随笔為你收集整理的寻找重复数—leetcode287的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。