1. 程式人生 > >Leetcode 869. 重新排序得到 2 的冪

Leetcode 869. 重新排序得到 2 的冪

emp get 輸出 順序 如果 否則 cto 用戶 正整數

869. 重新排序得到 2 的冪

我的提交返回競賽
  • 用戶通過次數102
  • 用戶嘗試次數134
  • 通過次數103
  • 提交次數296
  • 題目難度Medium

從正整數 N 開始,我們按任何順序(包括原始順序)將數字重新排序,註意其前導數字不能為零。

如果我們可以通過上述方式得到 2 的冪,返回 true;否則,返回 false

示例 1:

輸入:1
輸出:true

示例 2:

輸入:10
輸出:false

示例 3:

輸入:16
輸出:true

示例 4:

輸入:24
輸出:false

示例 5:

輸入:46
輸出:true

提示:

  1. 1 <= N <= 10^9
class Solution {
public:
    bool reorderedPowerOf2(int N) {
        vector<int> temp1 = getvec(N);
        for(int i=1;i < 1e9;i=i<<1){
            vector<int> temp2 = getvec(i);
            if(temp1 == temp2) return
true; } return false; } vector<int> getvec(int n){ vector<int> res(10); while(n){ res[n%10]++; n = n/10; } return res; } };

_tql

Leetcode 869. 重新排序得到 2 的冪