LeetCode 217. Contains Duplicate

1207 ワード

質問する
217. Contains Duplicate
Given an array of integers, find if the array contains any duplicates.
Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
Example 1:
Input: [1,2,3,1]
Output: true
解答方法
同じ数字が2回表示された場合はtrueを返します.
LeetCodeはタイムアウトの問題が多いと思っているので、できるだけドアを回すべきです.アルゴリズム初心者としては、私も簡単だと思います.🤔
ベクトルを並べ替え、
i番とi+1番が同じ場合はtrueを返し、最後まで異なる場合はfalseを返します.
テストボックスに空のベクトル([])があるだけで、ベクトルサイズをチェックしてから戻ります.
コード#コード#
class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        if (nums.size() == 0) return false;
        sort(nums.begin(), nums.end());
        for (int i = 0; i < nums.size() - 1; i++){
            if (nums[i] == nums[i+1]) {
                return true;
            }
        }
        return false;
    }
};