869. 重新排序得到 2 的幂

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

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

  • 示例 1:

输入:1
输出:true

  • 示例 2:

输入:10
输出:false

  • 示例 3:

输入:16
输出:true

  • 示例 4:

输入:24
输出:false

  • 示例 5:

输入:46
输出:true

解题思路

尝试数字的所有排列方式,检查每种排列方式是否能组成2的幂次

代码

class Solution {Set<Integer> tar=new HashSet<>();public boolean reorderedPowerOf2(int n) {for (int i=0;i<31;i++){tar.add(1<<i);}String s=""+n;return dfsReorderedPowerOf2(s,new boolean[s.length()],0,new StringBuilder());}public boolean dfsReorderedPowerOf2(String s,boolean[] m,int cur,StringBuilder sb) {if (cur==s.length()){if (tar.contains(Integer.parseInt(sb.toString())))return true;return false;}boolean f=false;for (int i = 0; i < m.length; i++) {if (m[i]||cur==0&&s.charAt(i)=='0')continue;m[i]=true;sb.append(s.charAt(i));f|=dfsReorderedPowerOf2(s,m,cur+1,sb);sb.deleteCharAt(sb.length()-1);m[i]=false;}return f;}
}

869. 重新排序得到 2 的幂相关推荐

  1. Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列

    题目链接:https://leetcode-cn.com/problems/reordered-power-of-2/ 题目 给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导 ...

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

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

  3. leetcode869. 重新排序得到 2 的幂

    题目连接:https://leetcode-cn.com/problems/reordered-power-of-2/ 题目分析 如果直接顺着题目的思路,得到数字n的全排列,然后再去判断其是不是2的幂 ...

  4. Leecode题解汇总(附题型归类)

    虽然已找到工作,但不断地自我学习和自我磨砺是无止境的. 为方便量化和总结经验,记录一下个人的Leecode刷题记录,之前的刷题并没有收录进去,有时间会统一整理. 序号 题目 题解 类型 来源 难度 0 ...

  5. LeetCode刷题记录(2)

    文章目录 动态规划 01背包 背包问题 [416. 分割等和子集](https://leetcode-cn.com/problems/partition-equal-subset-sum/) [104 ...

  6. leetcode题目整理

    1.面试先说出最简单的方法,然后在继续优化,不要想复杂,先暴力解决 2.理解问题,和面试交流题意 3.注意边界条件 4.不着急 一.二分 33.搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 ...

  7. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  8. LeetCode中的那些题

    目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 *******4.寻找两个有序数组的中位数(官方解答) : 5.最长回文子串(官方解答) 15. 三数之和 16. 最接近的三数之和 ...

  9. leetcode 转载

    转载: https://blog.csdn.net/love905661433/article/details/84980135 LeetCode 1- 100 1. 两数之和 : https://b ...

最新文章

  1. 香港理工大学计算机系石杰明老师组招收全奖博士生、博士后
  2. Openstack_通用模块_Oslo_vmware 创建 vCenter 虚拟机快照
  3. The NVIDIA driver on your system is too old
  4. 各linux版本比较
  5. 降级安装_如何升级iOS13测试版,还有降级
  6. oracle sequence的用法
  7. 用doxygen自动生成文档
  8. 用包管理python代码,提高开发效率
  9. 我的电脑上的软件推荐
  10. 计算机控制温度闭环控制实验,温度闭环控制实验
  11. DRP项目知识点一: 数据库连接-封装Connection
  12. H265 Vs VP9
  13. HP EliteDesk 880 G2 TWR无法从U盘启用
  14. PMI-ACP练习题(15)
  15. 让自己的QQ个人头像Tip也有彩色背景(转)
  16. 第四次团队作业——项目Alpha版本发布
  17. guice的使用例子
  18. matlab从大到小排序的语句,从小到大排序的方法
  19. AI智能化测试——各大厂质量保障实践分享汇总(下)
  20. trafficserver 服务搭建

热门文章

  1. 数据链路层:SLIP(串型线路IP) PPP(点对点协议)
  2. gcc的警告提示信息
  3. Java进阶之光!javaunicode码转字符
  4. 请谈下Android消息机制,复习指南
  5. access ole 对象 最大长度_Redis 数据结构和对象系统,有这 12 张图就够了!
  6. CF 526F Max Mex(倍增求LCA+线段树路径合并)
  7. linux—命令汇总
  8. Java构造函数的深入理解
  9. 课后作业-结队编程项目进度-贪吃蛇
  10. css样式中如何设置中文字体?