当前位置: 首页 > article >正文

C++ | Leetcode C++题解之第440题字典序的第K小数字

题目:

题解:

class Solution {
public:
    int getSteps(int curr, long n) {
        int steps = 0;
        long first = curr;
        long last = curr;
        while (first <= n) {
            steps += min(last, n) - first + 1;
            first = first * 10;
            last = last * 10 + 9;
        }
        return steps;
    }

    int findKthNumber(int n, int k) {
        int curr = 1;
        k--;
        while (k > 0) {
            int steps = getSteps(curr, n);
            if (steps <= k) {
                k -= steps;
                curr++;
            } else {
                curr = curr*10;
                k--;
            }
        }
        return curr;
    }
};

http://www.kler.cn/a/321696.html

相关文章:

  • AlphaFold3中文使用说明
  • shell编程之变量与引用
  • 2024 CCF中国开源大会“开源科学计算与系统建模openSCS”分论坛成功举办
  • 如何修改npm包
  • 图像处理之cornerdetection(角点检测)综述
  • VPI photonics的一些使用经验(测相位 快速搜索)持续更新
  • 【HDP】zookeeper未授权漏洞修复
  • C语言课程设计题目四:实验设备管理系统设计
  • Flutter鸿蒙化环境配置(windows)
  • 网站设计中安全方面都需要有哪些考虑
  • 【opencv】——为arm平台交叉编译
  • Apache Iceberg 数据类型参考表
  • URL中 / 作为字符串,而不是路径。
  • 19.1 使用k8s的sdk编写一个项目获取pod和node信息
  • 【毕业论文+源码】如何使用Spring Boot搭建一个简单的篮球论坛系统
  • 企业急于采用人工智能,忽视了安全强化
  • Linux云计算 |【第四阶段】NOSQL-DAY3
  • ubuntu 24搭建docker私有仓库
  • 【图像处理】多幅不同焦距的同一个物体的平面图象,合成一幅具有立体效果的单幅图像原理(二)
  • 通过python脚本采集TCP自定义端口连接数数据推送到Prometheus
  • 【azure-openai】批量翻译demo【python】【gradio】
  • 流浪软件uniaccess agent 删除
  • Webpack、Rollup、Parcel 和 Grunt、Gulp 的区别
  • 【理解 Java 中的 for 循环】
  • 【RabbitMQ 项目】服务端:信道模块
  • Java调用第三方接口、http请求详解,一文学会