【LeetCode】每日一题 2023_12_9 下一个更大的数值平衡数(枚举/打表二分)

文章目录

  • 刷题前唠嗑
  • 题目:下一个更大的数值平衡数
    • 题目描述
    • 代码与解题思路
    • 官方解法
  • 结语

刷题前唠嗑


LeetCode?启动!!!

题目:下一个更大的数值平衡数

题目链接:2048. 下一个更大的数值平衡数

题目描述

代码与解题思路

func nextBeautifulNumber(n int) int {for i := n+1; ; i++ { // 枚举cnt := [10]int{}for tmp := i; tmp > 0; tmp/=10 {cnt[tmp%10]++}isBeautifulNumber := truefor j := i; j > 0; j/=10 { // 判断是不是最小数值平衡数if j%10 != cnt[j%10] { isBeautifulNumber = falsebreak}}if isBeautifulNumber == true {return i}}
}

今天的每日一题不太难,主要是读懂题目的给的:最小数值平衡数 是个什么东西,就拿题目的样例来说

  1. 22,他的 2 有两个,他是最小数值平衡数
  2. 1333,他的 1 有一个,3 有三个,他是最小数值平衡数
  3. 3133,他的 1 有一个,3 有三个,他是最小数值平衡数
  4. 444422,他的 4 有四个,2 有两个,他是最小数值平衡数

通过这四个样例大概就知道什么是最小数值平衡数了,然后题目就是要我们求他给出的数的下一个最小数值平衡数,那最简单的方法就是往后枚举,然后判断,也就是我的做法。

官方解法

class Solution {
public:const vector<int> balance {1, 22, 122, 212, 221, 333, 1333, 3133, 3313, 3331, 4444,14444, 22333, 23233, 23323, 23332, 32233, 32323, 32332,33223, 33232, 33322, 41444, 44144, 44414, 44441, 55555,122333, 123233, 123323, 123332, 132233, 132323, 132332,133223, 133232, 133322, 155555, 212333, 213233, 213323,213332, 221333, 223133, 223313, 223331, 224444, 231233,231323, 231332, 232133, 232313, 232331, 233123, 233132,233213, 233231, 233312, 233321, 242444, 244244, 244424,244442, 312233, 312323, 312332, 313223, 313232, 313322,321233, 321323, 321332, 322133, 322313, 322331, 323123,323132, 323213, 323231, 323312, 323321, 331223, 331232,331322, 332123, 332132, 332213, 332231, 332312, 332321,333122, 333212, 333221, 422444, 424244, 424424, 424442,442244, 442424, 442442, 444224, 444242, 444422, 515555,551555, 555155, 555515, 555551, 666666, 1224444};int nextBeautifulNumber(int n) {return *upper_bound(balance.begin(), balance.end(), n);}
};

打表。。。

结语

还以为官方有什么好活呢,结果是打表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/268150.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书-二分查找找某个数字p155

#include<stdio.h> int main(){int a[10]{1,4,5,6,7,8,23,34,90,14567};int mid;int low0;int high9;while(low<high){mid(lowhigh)/2;//数组分成两段&#xff0c;前一段low-mid&#xff0c;后一段mid-highif (a[mid]<23)//因为已经是排序好的了&#xff0c;所以如…

电脑连接了wifi但是没有网络

电脑连接了WiFi但是网络不可用 问题场景&#xff1a;问题描述解决方案&#xff1a; 问题场景&#xff1a; 搬砖搬的好好的&#xff0c;电脑的WiFi突然就断开了&#xff0c;这时候还没意识到问题的严重性&#xff0c;直接就去重新连WiFi&#xff0c;能连上&#xff0c;但是没有…

智能优化算法应用:基于猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于猫群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.猫群算法4.实验参数设定5.算法结果6.参考文献7.MA…

解密:为何YouTube 5秒广告‘秒’过,国内视频平台坚持15秒?

大家好&#xff0c;我是小米&#xff01;今天我们来聊一个热门的话题&#xff1a;为什么YouTube可以在5秒后跳过广告&#xff0c;而国内视频平台却坚持15秒呢&#xff1f;这可不是简单的数字差异&#xff0c;而是一个关乎用户体验、商业模式以及产品策略的大问题。作为一个热衷…

【Python必做100题】之第十一题(组合数字)

题目&#xff1a;有四个数字&#xff1a;1,2,3,4&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;各是多少&#xff1f; 思路&#xff1a;可利用循环组合数字 代码如下&#xff1a; # 有四个数字&#xff1a;1,2,3,4&#xff0c;能组成多少个互不相同且无…

从视频中提取图片,轻松制作专属视频封面

你是否曾经为如何制作一个吸引人的视频封面而烦恼&#xff1f;现在&#xff0c;我们将向你展示如何从视频中提取图片&#xff0c;并轻松制作专属的视频封面。无论你是视频编辑新手&#xff0c;还是经验丰富的专业人士&#xff0c;这个技巧都能够帮助你快速提升你的视频品质。 …

【大模型】800万纯AI战士年末大集结,硬核干货与音乐美食12月28日准时开炫

文章目录 WAVE SUMMIT五载十届&#xff0c;AI开发者热血正当时酷炫前沿、星河共聚&#xff01;大模型技术生态发展正当时 回望2023年&#xff0c;大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态&#xff0c;大语言模型在突飞猛进中加速重构万物。随着理解、生…

vrep学习笔记8——将vrep中graph文件导出为csv.文件,并导入matlab中绘制曲线图

在机械臂仿真过程中&#xff0c;使用vrep中的graph图表功能绘制出的曲线不够清晰&#xff0c;如何将graph中的图表数据导出为csv文件&#xff0c;并使用matlab绘制出同样的曲线图呢&#xff1f; 1.将vrep中的graph导出为csv文件 首先选中graph如下 选择file-export-selected g…

TikTok美国本土店的入驻条件是什么?一文带你玩转TikTok美国本土店

现在tiktok美国本土店很火&#xff0c;很多卖家都很看好美国这个市场&#xff0c;纷纷入局tiktok美国本土店&#xff0c;现在美国tiktok本土店已经开放自注册了&#xff0c;但是可能还有很多新手卖家不知道入驻的要求有什么&#xff0c;今天东哥就给大家揭秘做tiktok美国本土店…

Rust语言GUI库之gtk安装

文章目录 工具链安装管理软件vcpkgvcpkg介绍安装vcpkg 安装gtk遇到的问题 工具链安装管理软件vcpkg vcpkg介绍 在使用C/C编写项目时, 引用第三方库是很麻烦的事, 需要手动下载源码然后编译最后再添加到项目里&#xff0c;配置头文件、lib、dll&#xff0c;如果是一个简单点的…

排坑指南之STM32串口接收队列定时异常导致接收失败

背景: 公司的项目,今天讲的这部分功能主要是和IC卡读取板进行串口通讯,然后将读取回来的IC卡保存在本地。我在调试的过程中发现了一个问题,上电刚开始的阶段,程序是好用的,能读取回来IC卡卡号,然后运行一段时间之后,就读取不回来卡号了,刷卡没有响应。 摘要: 讲述STM…

结构体内存对齐

为什么有内存对齐 1. 平台原因(移植原因)&#xff1a; 不是所有的硬件平台都能访问任意地址上的任意数据的&#xff1b;某些硬件平台只能在某些地址处取某些特定类型的数据&#xff0c;否则会抱出硬件异常。 因为&#xff1a;&#xff08;基于这个原因&#xff0c;就要把某些数…