黄舟2017-04-17 14:28:02
#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() -1
, nums.size()
是0時,答案成二進位表示了,為2^64 - 1,一個暴大的正數,所以WA了。建議不要把nums.size()
寫在for裡面,每次都會呼叫nums.size()
, 增加開銷。 。 。