【问题标题】:Almost Increasing Sequence, Few Test Cases Fail几乎增加序列,很少有测试用例失败
【发布时间】:2020-08-12 04:34:26
【问题描述】:

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

def almostIncreasingSequence(sequence):
    i = 0
    count = 0
    
    while i < len(sequence) - 1:
        if sequence[i] > sequence[i+1]:
            count += 1
        i += 1
            
    if count == 1:
        return True    
    else:
        return False

代码不符合以下顺序 [40, 50, 60, 10, 20, 30]

它会输出 false 但我得到 true

【问题讨论】:

    标签: python python-3.x sequence


    【解决方案1】:

    你没有检查你应该检查的属性。您应该检查是否可以通过从输入中删除 0 或 1 个元素来获得严格递增的序列。相反,您检查了输入中是否正好有一对递减的连续元素。

    找到一个递减对仍然有用,因为如果存在这样一个对,那么您必须删除其中一个涉及的元素。 (删除其他任何东西,你仍然有那个递减的对,并且序列仍然不是严格递增的。)解决这个问题的一个直接方法是搜索递减的一对,然后检查如果没有一个递减序列是否会增加涉及的两个要素。 (如果你没有找到一个递减的对,你也返回 True。)

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 2011-03-29
      • 2018-12-02
      • 1970-01-01
      相关资源
      最近更新 更多