自我修炼_初级算法篇_leetcode_第4题

存在重复元素
给定一个整数数组,判断是否存在重复元素。

如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:

输入: [1,2,3,1]
输出: true
示例 2:

输入: [1,2,3,4]
输出: false
示例 3:

输入: [1,1,1,3,3,4,3,2,4,2]
输出: true

这个题还是比较简单的。遍历就完了呗。拿一个bool的临时变量get 如果有相等,就把他改为true。true 也就不用执行了直接break。否则继续加一个if判断 第i个位置等于第j个位置 并且 不能检索自身。这是肯定的不然你所有的返回值都变成1了。这也是我刚开始犯得十分低级的错误。

class Solution {
public:
    bool containsDuplicate(vector<int> nums) {
        bool out = false;
        int lens  = sizeof(nums) / sizeof(int);
        for (int i = 0;i < lens;i++) {
            for (int j = 0;j < lens;j++) {
                if (nums[i] == nums[j]&& i != j) {
                    out = true;
                    break;
                }
            }
        }
        cout << out<< endl;
        return out;
    }
};

上一篇:sort用法


下一篇:leetcode392.判断子序列