AcWing之找出数组中重复的数字
生活随笔
收集整理的這篇文章主要介紹了
AcWing之找出数组中重复的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
給定一個長度為 n 的整數數組 nums,數組中所有的數字都在 0~n?1 的范圍內。 數組中某些數字是重復的,但不知道有幾個數字重復了,也不知道每個數字重復了幾次。 請找出數組中任意一個重復的數字。 注意:如果某些數字不在 0~n?1 的范圍內,或數組中不包含重復數字,則返回 -1;*/樣例
給定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。解題
方法一:
class Solution { public:bool searchArray(vector<vector<int>> array, int target) {if (array.empty() || array[0].empty()) return false;int n=array[0].size()-1,m=array.size(); // n是數組大小減一int i=0, j=n;while(j>=0 && i<m) {if(array[i][j] == target) return true;if(array[i][j] < target) i++;else j--;}return false;} };作者:htdwade 鏈接:https://www.acwing.com/activity/content/code/content/16412/ 來源:AcWing 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。心得
這里需要注意兩點 :
1. nums[i] 中i從0到n-1 —》 當nums[i]相同,也就是index相同 —》 nums[index]負數 --》結果
總結
以上是生活随笔為你收集整理的AcWing之找出数组中重复的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AcWing之找出不改变数组找到重复的数
- 下一篇: java 0 1背包_浅谈java实现背