1387. 將整數按權重排序
我們將整數 x 的 權重 定義為按照下述規則將 x 變成 1 所需要的步數:思路如果 x 是偶數,那麼 x = x / 2 如果 x 是奇數,那麼 x = 3 * x + 1 比方說,x=3 的權重為 7 。因為 3
需要 7 步變成 1 (3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> 1)。
給你三個整數 lo, hi 和 k 。你的任務是將區間 [lo, hi] 之間的整數按照它們的權重 公升序排序 ,如果大於等於 2 個整數有
相同 的權重,那麼按照數字自身的數值 公升序排序 。
請你返回區間 [lo, hi] 之間的整數按權重排序後的第 k 個數。
注意,題目保證對於任意整數 x (lo <= x <= hi) ,它變成 1 所需要的步數是乙個 32 位有符號整數。
建立 vectorint,
int>
>ans;進行對映;
重寫sort函式,
建立 函式func
() 返回每個數的權重
**
class
solution
static
bool
cmp(pair<
int,
int> a,pair<
int,
int> b)
else
return
false;}
public
:int
getkth
(int lo,
int hi,
int k)
sort
(ans.
begin()
,ans.
end(
),cmp)
;return ans[k-1]
.first;}}
;
1387 將整數按權重排序
題目描述 我們將整數 x 的 權重 定義為按照下述規則將 x 變成 1 所需要的步數 如果 x 是偶數,那麼 x x 2 如果 x 是奇數,那麼 x 3 x 1 比方說,x 3 的權重為 7 因為 3 需要 7 步變成 1 3 10 5 16 8 4 2 1 給你三個整數 lo,hi 和 k 你的任...
Leetcode 5350 將整數按權重排序
我們將整數 x 的 權重 定義為按照下述規則將 x 變成 1 所需要的步數 如果 x 是偶數,那麼 x x 2 如果 x 是奇數,那麼 x 3 x 1 比方說,x 3 的權重為 7 因為 3 需要 7 步變成 1 3 10 5 16 8 4 2 1 給你三個整數 lo,hi 和 k 你的任務是將區間...
Leetcode 8 將字串轉為整數 atoi
題目簡介 首先,該函式會根據需要丟棄無用的開頭空格字元,在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串...