专做畜牧招聘网站的中国城乡建设部网站证书查询
专做畜牧招聘网站的,中国城乡建设部网站证书查询,怎么用dw英文版做网站,济南好的网站建设公司文章目录 题目思路代码结果 题目
题目链接 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。
nums 中的 K-or 是一个满足以下条件的非负整数#xff1a;
只有在 nums 中#xff0c;至少存在 k 个元素的第 i 位值为 1 #xff0c;那么 K-or 中的第 i 位的值才是 1 。… 文章目录 题目思路代码结果 题目
题目链接 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。
nums 中的 K-or 是一个满足以下条件的非负整数
只有在 nums 中至少存在 k 个元素的第 i 位值为 1 那么 K-or 中的第 i 位的值才是 1 。 返回 nums 的 K-or 值。
注意 对于整数 x 如果 (2i AND x) 2i 则 x 中的第 i 位值为 1 其中 AND 为按位与运算符。 示例 1 输入nums [7,12,9,8,9,15], k 4 输出9 解释nums[0]、nums[2]、nums[4] 和 nums[5] 的第 0 位的值为 1 nums[0] 和 nums[5] 的第 1 位的值为 1 。 nums[0]、nums[1] 和 nums[5] 的第 2 位的值为 1 。 nums[1]、nums[2]、nums[3]、nums[4] 和 nums[5] 的第 3 位的值为 1 。 只有第 0 位和第 3 位满足数组中至少存在 k 个元素在对应位上的值为 1 。因此答案为 20 23 9 。 示例 2 输入nums [2,12,1,11,4,5], k 6 输出0 解释因为 k 6 nums.length 所以数组的 6-or 等于其中所有元素按位与运算的结果。因此答案为 2 AND 12 AND 1 AND 11 AND 4 AND 5 0 。 示例 3 输入nums [10,8,5,9,11,6,8], k 1 输出15 解释因为 k 1 数组的 1-or 等于其中所有元素按位或运算的结果。因此答案为 10 OR 8 OR 5 OR 9 OR 11 OR 6 OR 8 15 。 提示 1 nums.length 50 0 nums[i] 231 1 k nums.length 思路
我们采用两层循环来解决这个问题。外层循环枚举数组 nums 的每一位从第 0 位到第 31 位内层循环枚举数组 nums 中的每个元素。 对于每个元素 nums[j]我们使用位运算来检查其第 i 位是否为 1即 (nums[j] i) 1。如果至少有 k 个元素 nums[j] 的第 i 位为 1我们将最终答案加上 2^i。 由于题目中数组 nums 中的元素不超过 2^31因此外层循环枚举范围为 [0,31)。
代码
class Solution {
public:int findKOr(vectorint nums, int k) {int a[32]{};for(int i0;inums.size();i){int weishu0;while(nums[i]0){if(nums[i]1){a[weishu];}weishu;nums[i]1;}}int x1;int ans0;for(int i0;i32;i){if(a[i]k){ansx;}x1;}return ans;}
};结果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/87658.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!