Golang | Leetcode Golang 问题解决程序 第 440 题 字典序列的第 K 个最小数 - 问题解决程序:
最编程
2024-09-30 10:54:31
...
func getSteps(cur, n int) (steps int) {
first, last := cur, cur
for first <= n {
steps += min(last, n) - first + 1
first *= 10
last = last*10 + 9
}
return
}
func findKthNumber(n, k int) int {
cur := 1
k--
for k > 0 {
steps := getSteps(cur, n)
if steps <= k {
k -= steps
cur++
} else {
cur *= 10
k--
}
}
return cur
}
func min(a, b int) int {
if a > b {
return b
}
return a
}
推荐阅读
-
第 15 届 "蓝桥杯 "C/C++ B 组省级竞赛试题
-
韩顺平 Java 笔记]第 4 章:操作符
-
网页前端嵌入的 Grafana 链接 iframe 一直跳转到问题记录的登录页面 - 根本原因
-
游戏找不到 xinput1_3.dll 的原因及修复方法
-
Java 中的 HTTP 请求:使用 Apache HttpClient
-
[C++ 前缀与数论贪心] 2245.角路径的乘积中最多能有多少个尾零 |2036.
-
生产力为 16 个全尺寸内核或 24 个大小内核!激流 9 9950X 对比酷睿 i9-14900KS
-
类与对象(二):隐藏的指针
-
数据结构、内存处理、Redis 的缓存问题
-
OpenCV 视频 I/O (15) 视频写入类 VideoWriter 的视频编解码器身份使用函数 fourcc