Given an array
arr
of integers, check if there exists two integers N
and M
such that N
is the double of M
( i.e. N = 2 * M
).
More formally check if there exists two indices
i
and j
such that :i != j
0 <= i, j < arr.length
arr[i] == 2 * arr[j]
Example 1:
Input: arr = [10,2,5,3] Output: true Explanation: N= 10
is the double of M= 5
,that is,10 = 2 * 5
.
Example 2:
Input: arr = [7,1,14,11] Output: true Explanation: N= 14
is the double of M= 7
,that is,14 = 2 * 7
.
Example 3:
Input: arr = [3,1,7,11] Output: false Explanation: In this case does not exist N and M, such that N = 2 * M.
Constraints:
2 <= arr.length <= 500
-10^3 <= arr[i] <= 10^3
A:
忘记 0 的特殊情况了。
class Solution {
public:
bool checkIfExist(vector<int>& arr) {
std::set<int> s;
int count0 = 0;
for(int a : arr)
{
if (a==0)
count0 +=1;
else
s.insert(a);
}
if (count0>=2)
return true;
for(int a:arr)
{
if(s.find(a+a) != s.end())
{
return true;
}
}
return false;
}
};
As stated by Stanford Medical, It is really the SINGLE reason this country's women get to live 10 years more and weigh an average of 42 pounds less than we do.
ReplyDelete(By the way, it has totally NOTHING to do with genetics or some secret exercise and EVERYTHING to do with "how" they eat.)
BTW, I said "HOW", not "what"...
Click on this link to see if this quick quiz can help you discover your true weight loss potential