javascript - 几乎递增的序列码信号

标签 javascript

给定一个整数序列作为数组,确定是否可以通过从数组中删除不超过一个元素来获得严格递增序列。

示例

对于 sequence = [1, 3, 2, 1],输出应为 almostIncreasingSequence(sequence) = false

此数组中没有任何一个元素可以被删除以获得严格递增的序列。

对于 sequence = [1, 3, 2],输出应为 almostIncreasingSequence(sequence) = true。

您可以从数组中删除 3 以获得严格递增的序列[1, 2]。或者,您可以删除 2 以获得严格递增序列 [1, 3]。

这是我的代码,但它仅适用于某些数组。有人可以告诉我我做错了什么吗?

function almostIncreasingSequence(sequence) {
    for (var i = 0; i < sequence.length; i++) {
        if (sequence[i] < sequence[i+1]) {
            return(true);
        } else {
            sequence.splice(i, 1);
            for (var i = 0; i < sequence.length; i++) {
                if (sequence[i] < sequence[i+1]) {
                    return(true);
                } else {
                    return(false);
                }
            }
        }
    } 
}

最佳答案

在第一个 if 中,您仅测试 i 元素是否低于下一个元素。如果是,则结束循环并返回 true。因此,对于序列 [1,3,2,1] 您将检查 1 是否低于 3 并且因为它是您的返回 true。你的循环到此结束。

在返回 true 之前,您必须继续检查整个数组。但您可以在第二次测试返回 false 后返回 false。

关于javascript - 几乎递增的序列码信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55145705/

相关文章:

javascript - 如何通过 Ajax post 接收表单 NAME?

javascript - 使用正则表达式在字符串中的特定位置插入自动破折号

javascript - 修复嵌套列上的 Bootstrap 填充

javascript - jqGrid 免费设置默认值 `styleUI` 、 `iconSet` 、 `width` 和 `direction`

javascript - 构建 javascript 数组但有空值

javascript - treeview 展开所有有 child 的元素

javascript - 如何通过弹出菜单中的选定选项更改进行设置?

javascript - "no-return-assign"- 带括号和不带括号赋值之间的区别

javascript - 如何保护 JavaScript 应用程序的 API 调用?

javascript 将变量存储在数组中以启用按变量值排序