1291. 顺次数
- 题号:1291
- 来源:LeetCode
- 难度:中等
- 标签:
模拟数学 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · O(1) 时间 · O(1) 空间 · 更新于 2026-09-27
按位数构造顺次数,筛出区间内的
typescript
/**
* @difficulty medium
* @tags 模拟,数学
* @time O(1)
* @space O(1)
* @note 按位数构造顺次数,筛出区间内的
* @1291. 顺次数
*/
/**
* @顺次数
* 1. 字符串化生成顺次数
* 2.
*/
let low: number = 100
let high: number = 2346
let res: number[] = []
let num_bit: number[] = [low.toString().length, high.toString().length]
console.log(num_bit)
const CreateNum = (bit: number): number[] => {
let arr: number[] = []
for (let i = 1; i < 11 - bit; i++) {
let str: string = ''
for (let j = 0; j < bit; j++) {
str += (j + i).toString()
}
arr.push(+str)
}
return arr
}
console.log(CreateNum(5))
//实际遍历情况比理想遍历要多一点
for (let i = num_bit[0]; i <= num_bit[1]; i++) {
let Arr: number[] = CreateNum(i)
console.log('Arr:', Arr)
for (let j = 0; j < Arr.length; j++) {
if (Arr[j] < low) {
continue
} else if (Arr[j] >= low && Arr[j] <= high) {
res.push(Arr[j])
} else {
break
}
}
}
console.log(res)
export {};在 GitHub 上查看题目所在目录:lmliheng/algorithm