LeetCode 869. 重新排序得到 2 的幂(排序 全排列)
1. 题目
给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。
如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。
示例 1:
输入:1
输出:true示例 2:
输入:10
输出:false示例 3:
输入:16
输出:true示例 4:
输入:24
输出:false示例 5:
输入:46
输出:true提示:
1 <= N <= 10^9
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reordered-power-of-2
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
2.1 排序
- 将数字转成字符串,并排序
- 枚举32位的所有2的次幂的数,转字符串,并排序,跟上面字符串比较即可
class Solution {public:bool reorderedPowerOf2(int N) {string origin(to_string(N));string powerTwo;sort(origin.begin(), origin.end());for(int i = 0; i < 32; ++i){powerTwo = to_string(1<<i);sort(powerTwo.begin(), powerTwo.end());if(powerTwo == origin)return true;}return false;}
};
2.2 全排列
class Solution {bool ans = false;
public:bool reorderedPowerOf2(int N) {string origin(to_string(N));bt(origin,0);return ans;}void bt(string str, int i){if(ans == true || i == str.size())return;for(int j = i; j < str.size(); ++j){swap(str[i],str[j]);if(str[0]!='0' && isPowerTwo(stoi(str)))ans = true;bt(str,i+1);swap(str[i],str[j]);}}bool isPowerTwo(int n){return (n&(n-1)) == 0;}
};
LeetCode 869. 重新排序得到 2 的幂(排序 全排列)相关推荐
- 869. 重新排序得到 2 的幂
869. 重新排序得到 2 的幂 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零. 如果我们可以通过上述方式得到 2 的幂,返回 true:否则,返回 fals ...
- Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列
题目链接:https://leetcode-cn.com/problems/reordered-power-of-2/ 题目 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导 ...
- [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置
LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...
- 《LeetCode力扣练习》第46题 全排列 Java
<LeetCode力扣练习>第46题 全排列 Java 一.资源 题目: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输 ...
- LeetCode简单题之数组的相对排序
题目 给你两个数组,arr1 和 arr2,arr2 中的元素各不相同,arr2 中的每个元素都出现在 arr1 中. 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相 ...
- LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置
前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...
- leetcode869. 重新排序得到 2 的幂
题目连接:https://leetcode-cn.com/problems/reordered-power-of-2/ 题目分析 如果直接顺着题目的思路,得到数字n的全排列,然后再去判断其是不是2的幂 ...
- LeetCode 2050. 并行课程 III(拓扑排序)
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数 n ,表示有 n 节课,课程编号从 1 到 n . 同时给你一个二维整数数组 relations ,其中 relations[j] = [p ...
- LeetCode meituan-003. 小美的跑腿代购(排序)
文章目录 1. 题目 2. 解题 1. 题目 小美的一个兼职是美团的一名跑腿代购员,她有 n 个订单可以接,订单编号是 1~n , 但是因为订单的时效性,他只能选择其中 m 个订单接取,精明的小美当然 ...
最新文章
- 系统架构师-基础到企业应用架构-表现层
- AI芯片评测如何与时俱进?地平线提出全新MAPS评测方法,帮助用户理解AI芯片性能...
- oracle如何降低逻辑读,如何降低该SQL的逻辑读
- RecycleView弹性滑动
- 计算机专业的双证在职研究生,计算机类在职研究生最终能获得双证吗难度是不是很大呢...
- grav html5,如何通过html5实现摇一摇的功能
- laravel 的用户认证
- 与代码无关的React Native常识
- Android——ViewHolder
- Spring Guide:Securing a Web Application(中文大概意思)
- 华为2019年4月10日春招笔试题解
- 博弈论——完全信息博弈
- 计算机管理员绩效指标,网络管理员绩效kpi考核标准..doc
- html加载三维地图,Cesium加载三维地形及WMS地图,并实现动态控制显示
- 身体不同部位锻炼相关英语表达
- BroadcastReceiver插件化
- 高新技术企业申报材料汇编
- oracle怎么查临时表,Oracle查询问题引发临时表使用
- windows定时关机命令 取消定时关机命令 查看DNS缓存命令 清除DNS缓存命令
- 使用attrib命令修复隐藏的文件夹