通过全部样例仍显示超出时间限制是因为什么?
667
2023.03.04
发布于 未知归属地

1.png
https://leetcode.cn/problems/triples-with-bitwise-and-equal-to-zero
在写今天的每日一题的时候,看见hard题,但是感觉又不是特别的难,在暴力基础上优化了一下,提交通过25/25的样例,但是还显示超出时间限制,没有ac是因为什么呢

C++
class Solution {
public:
    int countTriplets(vector<int>& nums) {
        int ans=0,n=nums.size();
        for(int i=0;i<n;i++){
            if(nums[i]==0){
                ans=ans+1+(n-i-1)*3*(n-i);
            }else{
                for(int j=i+1;j<n;j++){
                    if((nums[i]&nums[j])==0)ans=ans+(n-j)*6;
                    else{
                        for(int k=j+1;k<n;k++){
                            if((nums[i]&nums[j]&nums[k])==0)ans+=6;
                        }
                    }
                }
            }
        }
        return ans;
    }
};
评论 (3)