当前位置: 首页 > article >正文

2859.计算K置位下标对应元素的和

在这里插入图片描述

示例 1:

输入:nums = [5,10,1,5,2], k = 1
输出:13
解释:下标的二进制表示是: 
0 = 0002
1 = 0012
2 = 0102
3 = 0112
4 = 1002 
下标 124 在其二进制表示中都存在 k = 1 个置位。
因此,答案为 nums[1] + nums[2] + nums[4] = 13 。
示例 2:

输入:nums = [4,3,2,1], k = 2
输出:1
解释:下标的二进制表示是: 
0 = 002
1 = 012
2 = 102
3 = 112
只有下标 3 的二进制表示中存在 k = 2 个置位。
因此,答案为 nums[3] = 1 。
 

提示:

1 <= nums.length <= 1000
1 <= nums[i] <= 105
0 <= k <= 10

2.题目思想:
采用双循环的方式进行,内层循环判断置位,外层循环递增坐标
3.题目代码:

class Solution {
public:
    int sumIndicesWithKSetBits(vector<int>& nums, int k) {
        int sum = 0;
        for(int i = 0;i < nums.size();i++){
            int count = 0;
            int index = i;
            while(index){
                if(index % 2 == 1){
                    count++;
                }
                index /= 2;
            }
            if(count == k){
                sum += nums[i];
            }
        }
        return sum;
    }
};

http://www.kler.cn/a/524477.html

相关文章:

  • 深入理解Pytest中的Setup和Teardown
  • 实践网络安全:常见威胁与应对策略详解
  • DeepSeek助力学术文献搜索!
  • 【Docker】快速部署 Nacos 注册中心
  • 借DeepSeek-R1东风,开启创业新机遇
  • (长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
  • docker镜像拉取失败超时
  • PTA乙级1006~1010【c++】
  • AI学习指南HuggingFace篇-Hugging Face 简介与背景
  • Java实现LRU缓存策略实战
  • 如何解决TikTok网络不稳定的问题
  • GMSL 明星产品之 MAX96717
  • SQL99之内连接查询
  • 前端【11】HTML+CSS+jQUery实战项目--实现一个简单的todolist
  • 深度学习学习笔记(第31周)
  • 线段树 算法
  • PA1记录
  • TiDB 常用命令
  • Java---入门基础篇(上)
  • vue-有关于TS与路由器
  • android wifi 热点名称的默认配置
  • 企业SaaS(软件即服务)行业中AARRR
  • 搭建Spark分布式集群
  • 学习数据结构(2)空间复杂度+顺序表
  • 昆仑万维Java开发面试题及参考答案
  • 【linux三剑客】grep练习题