題目連結:
題目意譯:
你被給定一正整數 n。
令 even 代表著 n 的二進位表示法中偶數索引值(索引值從 0 開始)中數值為 1 的個數。
令 odd 代表著 n 的二進位表示法中奇數索引值(索引值從 0 開始)中數值為 1 的個數。
回傳一個整數陣列 answer,其中 answer = [even, odd]。
限制:
1 ≦ n ≦ 1000
範例測資:
範例 1:
輸入: n = 17
輸出: [2,0]
解釋: 17 的二進位表示法為 10001。
其在索引值 0 和 4 上為 1。
因此 even 為 2,而 odd 為 0。
範例 2:
輸入: n = 2
輸出: [0,1]
解釋: 12 的二進位表示法為 10。
其在索引值 1 上為 1。
因此 even 為 0,而 odd 為 1。
解題思維:
單純地把 n 轉成二進位並統計即可(注意索引值是從右到左開始數)。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。