1. 程式人生 > 其它 >2021215 LeetCode刷題 位元位計數(難度 :單詞規律)

2021215 LeetCode刷題 位元位計數(難度 :單詞規律)

題目:

  

給你一個整數 n ,對於0 <= i <= n 中的每個 i ,計算其二進位制表示中 1 的個數 ,返回一個長度為 n + 1 的陣列 ans 作為答案。

示例 1:

輸入:n = 2
輸出:[0,1,1]
解釋:
0 --> 0
1 --> 1
2 --> 10
示例 2:

輸入:n = 5
輸出:[0,1,1,2,1,2]
解釋:
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100
5 --> 101

code:

  

class Solution {
    public int[] countBits(int n) {
        
int[] result = new int[n+1]; for(int i = 0;i<result.length;i++) { result[i]=new Solution().oneCount(i); } return result; } int oneCount(int i){ int count = 0; while(i!=0){ if(i%2!=0) { count++; } i
/=2; } return count; } }
執行結果: 通過 顯示詳情

新增備註

執行用時:14 ms, 在所有Java提交中擊敗了5.47%的使用者 記憶體消耗:43.5 MB, 在所有Java提交中擊敗了5.01%的使用者 通過測試用例:15/15

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/counting-bits
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。