码迷,mamicode.com
首页 > 其他好文 > 详细

869. Reordered Power of 2

时间:2019-05-20 23:00:12      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:discuss   tput   code   tar   tco   The   problems   for   reference   

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. 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

标签:discuss   tput   code   tar   tco   The   problems   for   reference   

原文地址:https://www.cnblogs.com/ruruozhenhao/p/10897015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!