【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 := true
        for j := i; j > 0; j/=10 {
    // 判断是不是最小数值平衡数
            if j%10 != cnt[j%10] {
    
                isBeautifulNumber = false
                break
            }
        }
        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);
    }
};

打表。。。

结语

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

相关推荐

  1. LeetCode 2048. 一个数值平衡

    2023-12-09 18:40:04       42 阅读
  2. leetcode笔记2048. 一个数值平衡

    2023-12-09 18:40:04       36 阅读
  3. 算法每日: 最合金 |

    2023-12-09 18:40:04       26 阅读
  4. LeetCode 每日 Day 46 ||

    2023-12-09 18:40:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 18:40:04       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 18:40:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 18:40:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 18:40:04       20 阅读

热门阅读

  1. 阿里云轻量应用服务器与云服务器ECS对比

    2023-12-09 18:40:04       47 阅读
  2. spring security面经-字节飞书生产力工具后端一面

    2023-12-09 18:40:04       31 阅读
  3. http的 content-type都有哪些?

    2023-12-09 18:40:04       35 阅读
  4. php,redis实现一个电影热度排行榜

    2023-12-09 18:40:04       40 阅读
  5. QT作业2

    QT作业2

    2023-12-09 18:40:04      42 阅读
  6. 使用Elasticsearch构建强大的搜索和分析引擎

    2023-12-09 18:40:04       41 阅读
  7. \__new__()方法

    2023-12-09 18:40:04       34 阅读
  8. js判断上传的文件是GBK编码还是UTF-8

    2023-12-09 18:40:04       38 阅读
  9. 美赛培训(一)

    2023-12-09 18:40:04       34 阅读
  10. PHP使用mpdf时 中文乱码

    2023-12-09 18:40:04       40 阅读