给定正整数 n 和 k ,请你找出 [1,n] 内的字典序第 k 小的数。 数据范围:
区块链毕设网qklbishe.com为您提供问题的解答
给定正整数 n 和 k ,请你找出 [1,n] 内的字典序第 k 小的数。
数据范围:
public int findKth (int n, int k) { // write code here int cur = 1; k--; while(k > 0){ int steps = getSteps(cur,n); if(steps <= k){ k -= steps; cur++; }else{ cur = cur*10; k--; } } return cur; } private int getSteps(int cur, long n){ int step = 0; long first = cur; long last = cur; while(first <= n){ step += Math.min(last,n)-first+1; first = first*10; last = last*10+9; } return step; }
01:05
以上就是关于问题给定正整数 n 和 k ,请你找出 [1,n] 内的字典序第 k 小的数。
数据范围:的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训