检查JavaScript中的升序数组
给定整数序列作为数组,请确定是否有可能通过从数组中删除不超过一个元素来获得严格递增的序列。
注意:如果a0<a1<...<an,则序列a0,a1,...,an被认为严格增加。仅包含一个元素的序列也被认为是严格增加的。
例如,对于序列=[1、3、2、1],输出应为-
almostIncreasingSequence(sequence) = false.
为了获得严格递增的顺序,此数组中没有一个元素可以删除。
对于序列=[1、3、2],输出应为-
almostIncreasingSequence(sequence) = true.
我们可以从数组中删除3以获得严格递增的序列[1,2]。或者,我们可以删除2以获得严格递增的序列[1,3]。
示例
为此的代码将是-
const arr1 = [3, 5, 67, 98, 3];
const arr2 = [4, 3, 5, 67, 98, 3];
const almostIncreasingSequence = sequence => {
let removed = 0;
let i = 0;
let prev = -Infinity;
while(removed < 2 && i < sequence.length) {
if(sequence[i] > prev) {
prev = sequence[i];
}else{
prev = Math.min(prev, sequence[i]);
removed++;
}
i++;
}
return removed < 2;
};
console.log(almostIncreasingSequence(arr1));
console.log(almostIncreasingSequence(arr2));输出结果
控制台中的输出将为-
true false
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短