当前位置: 首页 > 知识库问答 >
问题:

如何求整数的几乎递增序列

笪煌
2023-03-14

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

对于sequence=[1,3,2,1],输出应该是

almostIncreasingSequence(sequence) = false

这个数组中没有一个元素可以为了得到严格的递增序列而被移除。

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

共有1个答案

金飞翼
2023-03-14
function almostIncreasingSequence(sequence) {
  var found = false;
  for (var i=0;i<sequence.length;i++) {
    if(sequence[i] <= sequence[i-1]) {
      if(found) {
        return false;
      }
      found = true;
      
      if(i === 1 || i + 1 === sequence.length) {
        continue;
      }
      else if (sequence[i] > sequence[i-2]) {
        sequence[i-1] = sequence[i-2];
      }
      else if(sequence[i-1] >= sequence[i+1]) {
        return false;
      }
    }
  }
  return true;
}
 类似资料:
  • 我试图编写代码,确定是否可以通过从数组中移除一个元素来获得一个严格递增的整数数组。 我的代码适用于17种情况中的16种,但我想不出一种方法来整洁地重写我的代码,以便它考虑到一个数字比它前面的大,也比它后面的小的情况,就像我写这个for循环的方式一样。这是我的代码。这种方法不适用于数组:[1,2,3,4,3,6],因为它不像当前构造for循环那样将数组中的最后3视为违规者。 }

  • 我正试图解决一个编码问题。问题如下: 这是以下错误: 测试1的执行错误:您的程序有一个运行时错误。 任何帮助都将不胜感激。这似乎是个小问题,但我解决不了。

  • 我正在研究一些关于代码信号的Javascript挑战,遇到了这个问题: 给定一个整数序列作为一个数组,确定是否可以通过从数组中删除不超过一个元素来获得一个严格递增的序列。** 注意:如果a0 我的方法是遍历序列数组,检查当前元素是否大于下一个元素,如果大于,则删除当前元素。然后,递增一个计数器,如果计数器小于2,则返回true,否则返回false。 下面是我的代码: 这个解决方案解决了17/19个

  • 我已经设计了一个解决方案,可以使用一些测试用例,但是,对于许多我正在使用的算法是不正确的。 而不是寻求一个解决方案,我只是要求解释子序列是如何创建的,然后我将自己实现一个解决方案。 例如,输入: 6 6 问题陈述 在Quora上,我们有跟踪我们每天获得的支持投票数的聚合图。 当我们在特定大小的窗口上查看模式时,我们考虑了尽可能有效地跟踪趋势的方法,例如非递减和非递增子范围。 天数窗口定义为连续天数

  • 我的问题是: 以下是我的结果集: 我最终要寻找的是一种通过“DEName”递增地对ColumnNumber数据字段进行编号的方法。换句话说,对于每个DEName的每个ColumnName,我希望ColumnNumber从1开始,然后转到每个DEName有多少个唯一的ColumnName。有什么想法吗?

  • 问题内容: 假设列表中没有连续的整数。 我已经尝试过使用NumPy()来解决每个元素之间的差异,但是还无法使用它来获得答案。下面是输入(第一行)和预期输出(第二行)的两个示例。 问题答案: 您可以用来对列表中的顺序元素对启用迭代,并跟踪序列未增加的索引值,以便将相应的切片附加到输出列表中。