【初級算法】4.存在重復


題目:

給定一個整數數組,判斷是否存在重復元素。

如果任何值在數組中出現至少兩次,函數應該返回 true。如果每個元素都不相同,則返回 false

解題思路如下:

1.排序:按順序遍歷整個數組,如果發現有數組存在重復則返回結果

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        
        for(int i = 1;i < nums.size();++i){
            if(nums[i] == nums[i-1]){
                return true;
            }
        }
        
        return false;
    }
};

2.集合查找:如何集合查找發現有重復元素則返回true,否則返回false。

 bool containsDuplicate(vector<int>& nums) {
        set<int> m;
        
        for(int i = 0;i < nums.size(); ++i){
            if(m.find(nums[i])!=m.end()){
                return true;
            }else{
                m.insert(nums[i]);
            }
        }
        
        return false;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM