文章目录

  • 1. 题目
  • 2. 解题

1. 题目

如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。
那么整数 x 就是一个 数值平衡数

给你一个整数 n ,请你返回 严格大于 n最小数值平衡数

示例 1:
输入:n = 1
输出:22
解释:
22 是一个数值平衡数,因为:
- 数字 2 出现 2 次
这也是严格大于 1 的最小数值平衡数。示例 2:
输入:n = 1000
输出:1333
解释:
1333 是一个数值平衡数,因为:
- 数字 1 出现 1 次。
- 数字 3 出现 3 次。
这也是严格大于 1000 的最小数值平衡数。
注意,1022 不能作为本输入的答案,因为数字 0 的出现次数超过了 0 。示例 3:
输入:n = 3000
输出:3133
解释:
3133 是一个数值平衡数,因为:
- 数字 1 出现 1 次。
- 数字 3 出现 3 次。
这也是严格大于 3000 的最小数值平衡数。提示:
0 <= n <= 10^6

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/next-greater-numerically-balanced-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 直接暴力枚举,或者全部枚举出来,进行二分查找
class Solution {public:int nextBeautifulNumber(int n) {for(int i = n+1; i <= 1224444; ++i){vector<int> m(10,0);int num = i;while(num){m[num%10]++;num /= 10;}bool flag = true;for(int i = 0; i <= 9; ++i){if(m[i] && i != m[i]){flag = false;break;}}if(flag) return i;}return -1;}
};

696 ms 247.1 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 2048. 下一个更大的数值平衡数(枚举)相关推荐

  1. 2048. 下一个更大的数值平衡数

    2048. 下一个更大的数值平衡数 如果整数 x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次.那么整数 x 就是一个 数值平衡数 . 给你一个整数 n ,请你返回 严格大于 n ...

  2. LeetCode 496. 下一个更大元素 I(哈希)

    1. 题目 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nums1 中数字 x ...

  3. LeetCode 496. 下一个更大元素 I

    599. 两个列表的最小索引总和 添加链接描述 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和 ...

  4. LeetCode 496. 下一个更大元素 I 解题思路及C++实现

    解题思路: 因为这两个int型的vector中不包含重复元素,所以考虑使用c++中的unordered_map,对num2进行遍历,找到每一个元素的下一个更大元素,这样的话,时间复杂度就是O(n). ...

  5. leetcode 503. 下一个更大元素 II(单调栈)

    给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它 ...

  6. leetcode 503. 下一个更大元素 II

    给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它 ...

  7. Java实现 LeetCode 503 下一个更大元素 II

    503. 下一个更大元素 II 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大 ...

  8. Java实现 LeetCode 556 下一个更大元素 III(数组的翻转)

    556. 下一个更大元素 III 给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n.如果不存在这样的32位整数,则返回-1. 示例 1: 输入: 1 ...

  9. Java实现 LeetCode 496 下一个更大元素 I

    496. 下一个更大元素 I 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nu ...

最新文章

  1. c++11 线程:让你的多线程任务更轻松
  2. python封装举例_Python面向对象封装操作案例详解
  3. mysql保存中文异常Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column'
  4. Python slice() 函数
  5. php基础教程 第七步数组补充及循环基础
  6. [html] 请实现一个文章阅读的进度条
  7. 离线抓取域登录缓存hash(mscash)
  8. OpenGL和D3D11中的深度模版测试
  9. 20180104 wdcp中的mysql重启不成功
  10. 怎样在IIS下配置PHP
  11. 瑞星、360、金山卫士、BaiduPlayer、SOSO开聚会,电脑吃不消了
  12. 天猫魔盘显示无法连接到服务器,天猫魔盘无法上网 天猫魔盘不能上网怎么办...
  13. 饼状统计图php,制作圆饼统计图
  14. unity打开内嵌游戏网页
  15. sql server 2008 r2 忘记sa密码, 没有window账户登录, 解决办法
  16. 和信贷接入百行征信之后......
  17. android wifi wlan,看完秒懂WiFi和WLAN的区别
  18. 信息时代的管理信息系统
  19. Exchange-获取主、所有SMTP地址
  20. php文件包含漏洞利用

热门文章

  1. flymcu无法打开串口_西门子1200与其他PLC/组态软件无线串口通讯(自由口)
  2. 深度学习之 hard negative mining (难例挖掘)
  3. tornado学习笔记day07-同步与异步
  4. 理解:复杂度是O(log^n) 就是二分法
  5. Settings【学习笔记05】
  6. pb retrieve时停止工作_大佬们挂在嘴边的PE、PB是什么?
  7. steam一键授权工具_半个东的时间让你省了一个亿 Steam免费游戏一键领取
  8. Linux:多进程、多线程服务器的实现解析(有图有代码有真相!!!)
  9. 树莓派安装MySQL数据库与卸载
  10. 2018-11-01 专栏一岁了-我为什么投身于普及用中文编程