提高代码执行效率——C++

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)

猜你喜欢

转载自blog.csdn.net/weixin_64089259/article/details/130141465