869. Reordered Power of 2
Posted ruruozhenhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了869. Reordered Power of 2相关的知识,希望对你有一定的参考价值。
Starting with a positive integer
N
, we reorder the digits in any order (including the original order) such that the leading digit is not zero.Return
true
if and only if we can do this in a way such that the resulting number is a power of 2.
Example 1:
Input: 1 Output: true
Example 2:
Input: 10 Output: false
Example 3:
Input: 16 Output: true
Example 4:
Input: 24 Output: false
Example 5:
Input: 46 Output: true
Note:
1 <= N <= 10^9
Approach #1: Math. [Java]
class Solution { public boolean reorderedPowerOf2(int N) { int c = count(N); for (int i = 0; i < 32; ++i) { if (count(1 << i) == c) return true; } return false; } public int count(int x) { int ret = 0; for (; x > 0; x /= 10) ret += (int)Math.pow(10, x % 10); return ret; } }
Analysis:
The way that use / and % to count the digit is awesome.
Reference:
https://leetcode.com/problems/reordered-power-of-2/discuss/149843/C%2B%2BJavaPython-Straight-Forward
以上是关于869. Reordered Power of 2的主要内容,如果未能解决你的问题,请参考以下文章
[Math_Medium] 869. Reordered Power of 2
[LeetCode] Reordered Power of 2 重新排序为2的倍数