题目链接:https://leetcode-cn.com/problems/reordered-power-of-2/


题目

给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。

如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。

示例 1:
输入:1
输出:true

示例 2:
输入:10
输出:false

示例 3:
输入:16
输出:true

示例 4:
输入:24
输出:false

示例 5:
输入:46
输出:true

提示:
1 <= N <= 10^9


解法:数据量比较小,dfs回溯即可。


class Solution {private:bool res = false;int vis[10] = {0};            // 某个数所有数字的出现次数;不用bool的原因是,数字可以重复int len = 0;                // 数字的位数unordered_map<int, int>um;public:bool reorderedPowerOf2(int n) {// 构建集合匹配for (int i = 1; i < (int)1e9+10; i *= 2) {um[i] = 1;}// 求这个数中所有数字的出现次数while(n) {vis[n%10]++;n /= 10;len++;}// 回溯dfs(0, 0);return res;}void dfs(int step, int cur) {if (step == len) {if (um[cur] == 1) {  // 为1,证明是2的幂res = true;}}// 全量遍历的状态for (int i = 0; i < 10; i++) {if (vis[i] > 0) {vis[i]--;if (i != 0 || cur != 0) {dfs(step + 1, cur * 10 + i);}vis[i]++;}}}
};

Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列相关推荐

  1. 869. 重新排序得到 2 的幂

    869. 重新排序得到 2 的幂 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零. 如果我们可以通过上述方式得到 2 的幂,返回 true:否则,返回 fals ...

  2. LeetCode 869. 重新排序得到 2 的幂(排序 全排列)

    1. 题目 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零. 如果我们可以通过上述方式得到 2 的幂,返回 true:否则,返回 false. 示例 1: 输入 ...

  3. 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列

    题目链接:https://leetcode-cn.com/problems/super-pow/ 题解汇总:https://leetcode-cn.com/problems/max-increase- ...

  4. 【解题报告】Leecode 748. 最短补全词——Leecode每日一题系列

    题目链接:https://leetcode-cn.com/problems/shortest-completing-word/ 题解汇总:https://leetcode-cn.com/problem ...

  5. 【解题报告】Leecode 807. 保持城市天际线——Leecode每日刷题系列

    题目链接:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/ 题解汇总:https://leetcode-cn.co ...

  6. 【解题报告】Leecode911. 在线选举——Leecode每日一题系列

    题目链接:https://leetcode-cn.com/problems/online-election/ 题解汇总:https://zhanglong.blog.csdn.net/article/ ...

  7. 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十六天 题目链接:https://leetcode-cn.com/problems/random-flip-matrix/solution/ 题解汇总:https://zh ...

  8. 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十七天 题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/ 题解汇总:https:// ...

  9. 【解题报告】Leecode 859. 亲密字符串——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十四天 题目链接:https://leetcode-cn.com/problems/buddy-strings/ 题解汇总:https://zhanglong.blog.c ...

最新文章

  1. 单元、集成、系统、验收测试比较
  2. 剑指Offer_14_链表中倒数第k个结点
  3. java中截取字符串的方式
  4. linux上线tomcat安装目录,LINUX 下 tomcat的安装和配置
  5. linux修改mysql配置文件_Linux下PHP开发环境搭建(Apache2.4+PHP7.1+MySQL5.7)
  6. SAP Spartacus list item点击之后的detail页面跳转
  7. 下滑加载更多js_专治:卫生间免砸砖,房顶漏水,JS堵漏王水不漏,厂家三包产品,免费成熟配方(点开看更多)...
  8. 计算机C语言课交作业怎么交,第一份c语言作业
  9. 无人驾驶入门(camera篇)
  10. 活动丨想和大咖云风来场1对1的亲面交流吗?!快来分享你的《程序员修炼之道》学习心得!
  11. 创建Dockerfile,构建jdk+tomcat环境
  12. 一个游戏是如何被设计和开发出来的
  13. 人工智能产生式系统实验—动物识别系统(txt文件导入数据库)python代码实现以及关系图
  14. 用于测试图片类型限制、图片大小限制的文件
  15. CSDN中用Markdown如何给文本加下划线(可延长下划线)
  16. 蓝桥杯java历年真题及答案整理21~40
  17. 链游知识01:同质化和非同质化资产标准是什么?
  18. iMindMap2020免费下载序列号
  19. python爬虫二十四:js逆向破解(一)
  20. 基于单片机的智能洗手器系统设计(#0460)

热门文章

  1. 非VIP用户下载限速,原来是这么实现的
  2. MySQL(三)数据库的六种约束、表的关系、三大范式
  3. frida的用法--Hook Java层类方法
  4. Python:langdetect和langid检测语言类型
  5. Socket之TCP服务器【Python】
  6. OS- -I/O之盘和时钟
  7. 【今晚七点半】:白板与开源
  8. ECCV 2020 亮点摘要(下)
  9. UDP成为低延时流媒体关键 选SRT还是QUIC?
  10. 数据结构与算法之二叉树的先序遍历,中序遍历,后序遍历