Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列
题目链接: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每日一题系列相关推荐
- 869. 重新排序得到 2 的幂
869. 重新排序得到 2 的幂 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零. 如果我们可以通过上述方式得到 2 的幂,返回 true:否则,返回 fals ...
- LeetCode 869. 重新排序得到 2 的幂(排序 全排列)
1. 题目 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零. 如果我们可以通过上述方式得到 2 的幂,返回 true:否则,返回 false. 示例 1: 输入 ...
- 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列
题目链接:https://leetcode-cn.com/problems/super-pow/ 题解汇总:https://leetcode-cn.com/problems/max-increase- ...
- 【解题报告】Leecode 748. 最短补全词——Leecode每日一题系列
题目链接:https://leetcode-cn.com/problems/shortest-completing-word/ 题解汇总:https://leetcode-cn.com/problem ...
- 【解题报告】Leecode 807. 保持城市天际线——Leecode每日刷题系列
题目链接:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/ 题解汇总:https://leetcode-cn.co ...
- 【解题报告】Leecode911. 在线选举——Leecode每日一题系列
题目链接:https://leetcode-cn.com/problems/online-election/ 题解汇总:https://zhanglong.blog.csdn.net/article/ ...
- 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列
今天是坚持每日一题打卡的第二十六天 题目链接:https://leetcode-cn.com/problems/random-flip-matrix/solution/ 题解汇总:https://zh ...
- 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列
今天是坚持每日一题打卡的第二十七天 题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/ 题解汇总:https:// ...
- 【解题报告】Leecode 859. 亲密字符串——Leecode每日一题系列
今天是坚持每日一题打卡的第二十四天 题目链接:https://leetcode-cn.com/problems/buddy-strings/ 题解汇总:https://zhanglong.blog.c ...
最新文章
- 单元、集成、系统、验收测试比较
- 剑指Offer_14_链表中倒数第k个结点
- java中截取字符串的方式
- linux上线tomcat安装目录,LINUX 下 tomcat的安装和配置
- linux修改mysql配置文件_Linux下PHP开发环境搭建(Apache2.4+PHP7.1+MySQL5.7)
- SAP Spartacus list item点击之后的detail页面跳转
- 下滑加载更多js_专治:卫生间免砸砖,房顶漏水,JS堵漏王水不漏,厂家三包产品,免费成熟配方(点开看更多)...
- 计算机C语言课交作业怎么交,第一份c语言作业
- 无人驾驶入门(camera篇)
- 活动丨想和大咖云风来场1对1的亲面交流吗?!快来分享你的《程序员修炼之道》学习心得!
- 创建Dockerfile,构建jdk+tomcat环境
- 一个游戏是如何被设计和开发出来的
- 人工智能产生式系统实验—动物识别系统(txt文件导入数据库)python代码实现以及关系图
- 用于测试图片类型限制、图片大小限制的文件
- CSDN中用Markdown如何给文本加下划线(可延长下划线)
- 蓝桥杯java历年真题及答案整理21~40
- 链游知识01:同质化和非同质化资产标准是什么?
- iMindMap2020免费下载序列号
- python爬虫二十四:js逆向破解(一)
- 基于单片机的智能洗手器系统设计(#0460)