在 JavaScript 中查找范围内的连续数字
连续数字编号
当且仅当数字中的每个数字都比前一个数字多一位时,数字具有连续数字。
问题
我们需要编写一个 JavaScript 函数,该函数接受一个数组 arr,该数组由两个指定范围的元素组成。
我们的函数应该返回一个排序数组,其中包含范围 arr(包括限制在内)中具有连续数字的所有整数。
例如,如果函数的输入是 -
const arr = [1000, 13000];
那么输出应该是 -
const output = [1234, 2345, 3456, 4567, 5678, 6789, 12345];
示例
此代码将是 -
const arr = [1000, 13000];输出结果const sequentialDigits = ([low, high] = [1, 1]) => {
const findCount = (num) => {
let count = 0;
while(num > 0){
count += 1
num = Math.floor(num / 10)
};
return count;
};
const helper = (count, start) => {
let res = start;
while(count > 1 && start < 9){
res = res * 10 + start + 1;
start += 1;
count -= 1;
};
if(count > 1){
return 0;
};
return res;
};
const count1 = findCount(low);
const count2 = findCount(high);
const res = [];
for(let i = count1; i <= count2; i++){
for(let start = 1; start <= 8; start++){
const num = helper(i, start);
if(num >= low && num <= high){
res.push(num);
};
};
};
return res;
};
console.log(sequentialDigits(arr));
控制台中的输出将是 -
[1234, 2345,
3456, 4567,
5678, 6789,
12345
]
以上是 在 JavaScript 中查找范围内的连续数字 的全部内容, 来源链接: utcz.com/z/361300.html