LeetCode 2917.找出数组中的K-or值

题目

给你一个整数数组 nums 和一个整数 k 。让我们通过扩展标准的按位或来介绍 K-or 操作。在 K-or 操作中,如果在 nums 中,至少存在 k 个元素的第 i 位值为 1 ,那么 K-or 中的第 i 位的值是 1 。

返回 numsK-or 值。

思路:由于数组元素值 <2^31,我们枚举 0 到 30 的每个比特位。遍历数组,如果第 i 个比特位上的 1 的个数 ≥k,则把 2^i加到答案中。

代码

java 复制代码
class Solution {
    public int findKOr(int[] nums, int k) {
        int ans = 0;
        for (int i = 0; i < 31; i++) {
            int cnt1 = 0;
            for (int x : nums) {
                cnt1 += x >> i & 1;
            }
            if (cnt1 >= k) {
                ans |= 1 << i;
            }
        }
        return ans;
    }
}

性能

相关推荐
淡海水1 分钟前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic10119 分钟前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
INGNIGHT3 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
2401_839080544 小时前
C++常见八股
数据结构·c++·算法
青山是哪个青山4 小时前
LeetCode 188:买卖股票的最佳时机 IV
算法
暮雨封夕4 小时前
跳表(Skip List)详解:原理、实现、使用场景与实际应用
数据结构
mikuyyds4 小时前
geo-toolbox 插件算法解析:RUSLE 与 MUSLE 的工程化落地
算法·rust·gis
Tisfy4 小时前
LeetCode 3498.字符串的反转度:一次遍历
leetcode·字符串·题解·遍历
a187927218314 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流
算法·leetcode·二叉树··bfs·算法讲解·树遍历
miller-tsunami4 小时前
排序的相关知识点
数据结构·排序算法