1.若程序中有用到判断语句,可以加上
& 1
例如:
if(i % 2 == 0 & 1)
{
}
举例程序实际执行情况
没有加上 & 1:
在判断语句中加上 & 1:
完整原代码:
class Solution {
public:
int mostFrequentEven(vector<int>& nums) {
unordered_map<int, int> counts;
for(auto i : nums){
if(i % 2 == 0){
counts[i]++;
}
}
int number = -1, count = -1;
for(auto &i : counts){
if(i.second > count || i.second == count && i.first < number){
number = i.first;
count = i.second;
}
}
return number;
}
};
加上 & 1后的原代码:
class Solution {
public:
int mostFrequentEven(vector<int>& nums) {
unordered_map<int, int> counts;
for(auto i : nums){
if(i % 2 == 0 & 1){
counts[i]++;
}
}
int number = -1, count = -1;
for(auto &i : counts){
if(i.second > count || i.second == count && i.first < number & 1){
number = i.first;
count = i.second;
}
}
return number;
}
};
此题是我在力扣上刷的一道简单算法题(题号:2404)