C++求数组是否含有重复元素
PHPz
PHPz 2017-04-17 14:26:02
0
1
534
PHPz
PHPz

学习是最好的投资!

全部回覆(1)
黄舟
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

bool containsDuplicate(vector<int>& nums) {
    sort(nums.begin(), nums.end());
    cout << nums.size() << endl;
    int j = 0;
    cout << nums.size() - 1 << endl;
    cout << ( j < nums.size() - 1) << endl;
    for (int i = 0; i < nums.size() - 1; i++) {
        cout << nums.size() << endl;
        if (nums[i] == nums[i + 1]) 
            return true;
    }
    return false;
}

int main() {
    vector<int> a;
    cout << containsDuplicate(a) << endl;
    return 0;
}

nums.size() = 0時,因為nums.size()類型是size_t,是unsigned long long的typedef,只能是正數,所以當nums.size() -1nums.size()是0時,答案成二進位表示了,為2^64 - 1,一個暴大的正數,所以WA了。建議不要把nums.size()寫在for裡面,每次都會呼叫nums.size(), 增加開銷。 。 。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板