2859. Sum of Values at Indices With K Set Bits

Difficulty:
Related Topics:
    Similar Questions:

    Problem

    You are given a 0-indexed integer array nums and an integer k.

    Return **an integer that denotes the *sum* of elements in nums whose corresponding indices have **exactly** *k* set bits in their binary representation.**

    The set bits in an integer are the 1's present when it is written in binary.

    Example 1:

    Input: nums = [5,10,1,5,2], k = 1
    Output: 13
    Explanation: The binary representation of the indices are:
    0 = 0002
    1 = 0012
    2 = 0102
    3 = 0112
    4 = 1002
    Indices 1, 2, and 4 have k = 1 set bits in their binary representation.
    Hence, the answer is nums[1] + nums[2] + nums[4] = 13.
    

    Example 2:

    Input: nums = [4,3,2,1], k = 2
    Output: 1
    Explanation: The binary representation of the indices are:
    0 = 002
    1 = 012
    2 = 102
    3 = 112
    Only index 3 has k = 2 set bits in its binary representation.
    Hence, the answer is nums[3] = 1.
    

    Constraints:

    Solution (Java)

    class Solution {
        public int sumIndicesWithKSetBits(List<Integer> nums, int k) {
            int sum = 0;
            for(int i=0; i<nums.size(); i++){
                if(getBitCount(i) == k){
                    sum += nums.get(i);
                }
            }
            return sum;
        }
        // If u don't want to use inbuilt method then Build ur Own
        int getBitCount(int number){
            int bitCount = 0;
                while (number > 0) {
                    if (number % 2 == 1) {
                        bitCount++;
                    }
                    number /= 2 ;
                }
            return bitCount;
        }
    }
    

    Explain:

    nope.

    Complexity: