力扣hot100 338 位元位計數

2021-10-12 23:07:28 字數 717 閱讀 2403

題目描述:

給定乙個非負整數 num。對於 0 ≤ i ≤ num 範圍中的每個數字 i ,計算其二進位制數中的 1 的數目並將它們作為陣列返回。

示例 1:

輸入: 2

輸出: [0,1,1]

示例 2:

輸入: 5

輸出: [0,1,1,2,1,2]

高階:解題思路:

如果是在時間複雜度為o(n*sizeof(integer))的時間裡求解出來,那就很簡單,先做乙個for迴圈,後面直接統計迴圈裡面每乙個值位元位1的個數,存入陣列即可。

**如下:

class

solution

res.

push_back

(temp);}

return res;}}

;

但是考慮線性時間o(n)內一趟完成。考慮每乙個數字。如果它是奇數如3(011),它的位元位1的個數是其右移一位的值的位元位個數加上末位的1。如果這個數是偶數如6(0110),它的位元位的個數和它右移一位的數的位元位個數一樣。所以可以有:

class

solution

return res;}}

;

力扣hot100 739 每日溫度

題目描述 請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1...

力扣hot00 279 完全平方數

題目描述 給定正整數 n,找到若干個完全平方數 比如 1,4,9,16,使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12 輸出 3 解釋 12 4 4 4.示例 2 輸入 n 13 輸出 2 解釋 13 4 9.解題思路 這道題一開始做的時候想的是能不能直接找到什...

力扣hot 100 70 爬樓梯

假設你正在爬樓梯,需要n階你才能到達樓頂。每次你可以爬1或者2個台階。你有多少種不同的方法可以爬到樓頂呢?給定n是乙個正整數 當n 1的時候,只有一種爬法 當n 2的時候,有兩種爬法 當n 3的時候,這時候有3種爬法,分別是1 1 1 1 2 2 1 當n 4的時候,有5種爬法,分別是1 1 1 1...