1356 根據數字二進位制下 1 的數目排序

2021-10-10 07:50:33 字數 556 閱讀 7616

hello aohy ,今天呢做了個決定好好學演算法,嗯,力扣每日打卡,希望你能堅持下去。

~~~~~這是鏈結~

看到題目首先想到的就是暴力排序了,但是注意到 大小是有兩個規則

所以簡單點的想法就是計算每個數二進位制表示中1的個數,統計比較輸出就行。

然後我去看題解了。

然後我知道了sort的重寫規則樣式

這樣的

class

solution

while

(number2 !=0)

return count1==count2?a

} vector<

int>

sortbybits

(vector<

int>

&arr)

};

當然啦,力扣上也有很多的題解,大家也可以出門右轉。

bey!

1356 根據數字二進位制下 1 的數目排序

給你乙個整數陣列 arr 請你將陣列中的元素按照其二進位制表示中數字 1 的數目公升序排序。如果存在多個數字二進位制中 1 的數目相同,則必須將它們按照數值大小公升序排列。請你返回排序後的陣列。示例 1 輸入 arr 0,1,2,3,4,5,6,7,8 輸出 0,1,2,4,8,3,5,6,7 解釋...

1356 根據數字二進位制下 1 的數目排序

題目描述 給你乙個整數陣列 arr 請你將陣列中的元素按照其二進位制表示中數字 1 的數目公升序排序。如果存在多個數字二進位制中 1 的數目相同,則必須將它們按照數值大小公升序排列。請你返回排序後的陣列。輸入 arr 0,1,2,3,4,5,6,7,8 輸出 0,1,2,4,8,3,5,6,7 解釋...

力扣1356 根據數字二進位制下 1 的數目排序

給你乙個整數陣列 arr 請你將陣列中的元素按照其二進位制表示中數字 1 的數目公升序排序。如果存在多個數字二進位制中 1 的數目相同,則必須將它們按照數值大小公升序排列。請你返回排序後的陣列。解答 統計二進位制1的個數可以分別獲取每個二進位制位數,然後再統計其1的個數,此方法效率比較低。這裡介紹另...