大型网站开发框架移动前端框架,建设银行有没有全球门户网站,wordpress给帖子打分,企业信用网站建设2024.3.6 题目来源我的题解方法一 枚举遍历方法二 枚举遍历#xff08;优化#xff09; 题目来源
力扣每日一题#xff1b;题序#xff1a;2917
我的题解
方法一 枚举遍历 使用一个数组存储每一个比特位为1的数量#xff0c;然后根据该数组得到结果的每一比特位是否为1… 2024.3.6 题目来源我的题解方法一 枚举遍历方法二 枚举遍历优化 题目来源
力扣每日一题题序2917
我的题解
方法一 枚举遍历 使用一个数组存储每一个比特位为1的数量然后根据该数组得到结果的每一比特位是否为1。 时间复杂度O(nlogC)。n是nums的长度C等于32 空间复杂度O( C) public int findKOr(int[] nums, int k) {int[] countnew int[32];for(int i0;inums.length;i){countBit(count,nums[i]);}int res0;for(int i0;i32;i){if(count[i]k)count[i]1;elsecount[i]0;rescount[i]*(int)Math.pow(2,i);}return res;
}
public void countBit(int[] count,int num){int bitnum1;if(bit1)count[0];for(int i0;i31;i){numnum1;bitnum1;if(bit1)count[i1];}
}方法二 枚举遍历优化 不使用显式数组去存储 时间复杂度O(nlogC) 空间复杂度O(1) public int findKOr(int[] nums, int k) {int res0;for(int i0;i31;i){int t0;for(int num:nums){if(((numi)1)!0){t;}}if(tk)res|1i;}return res;
}有任何问题欢迎评论区交流欢迎评论区提供其它解题思路代码也可以点个赞支持一下作者哈~