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

为什么我的代码在这个简单的练习中失败了?

归松
2023-03-14

我正在做一个编码练习:

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

>

  • 对于序列=[1,3,2,1],输出应为false;

    def almostIncreasingSequence(sequence):
        first_list, second_list = [x for x in sequence], [x for x in sequence]
        for i in range(len(sequence)-1):
            if sequence[i] >= sequence[i+1]:
                first_list.remove(sequence[i])
                second_list.remove(sequence[i+1])
                break
    
        if first_list == sorted(set(first_list)) or second_list == sorted(set(second_list)):
            return True
        else:
            return False
    

    下面是我的代码失败的2个输入:

    [1, 2, 3, 4, 3, 6]
    
    [3, 5, 67, 98, 3]
    

    这两个输入都应该返回True,但我的代码返回false。有什么想法吗?

  • 共有1个答案

    李奕
    2023-03-14

    使用第一个列表[1,2,3,4,3,6]。在first_listsecond_list上运行for循环后,这些变量的值为:

    In [9]: first_list
    Out[9]: [1, 2, 3, 3, 6]
    
    In [10]: second_list
    Out[10]: [1, 2, 4, 3, 6]
    

    if的第一部分是false,因为:

    In [12]: sorted(set(first_list))
    Out[12]: [1, 2, 3, 6]
    

    通过将列表放入一个集合中,你已经失去了3个中的一个。

    因此,if语句的两个部分都是false,函数返回false

     类似资料:
    • 我试图解决Dijkstra算法上的一个hackerrank问题--https://www.hackerrank.com/challenges/dijkstrashortreach。我在使用我自己的Dijkstra代码逻辑。虽然我的代码解决了更容易的测试用例,但它在更高的测试用例上失败了。我猜我的代码在某个地方缺少了一些传递性,并且我得到的某个节点的值高于预期。你能帮我找出我的错误吗?问题:输入格式

    • 问题内容: 我有一个疑问,就所有权利而言,它应该不会失败,而且我一生无法弄清楚为什么 当我尝试运行查询时,出现“ INSERT INTO语句中的语法错误”,其中“注释”字段突出显示。如果我忽略“注释”字段及其值,则查询工作正常。是否真的有明显的我想念的东西,或者这里是否藏有Jet SQL怪癖??? 它所作用的表是: ID – autonumber primary key Store – Text

    • 在我的bash脚本中,如果在放弃之前失去了与目标的连接,我将尝试让rsync重试10次。 我知道这段代码会捕获所有错误,但我现在可以接受。 我的代码是: 它没有按预期工作,下面是第一个错误发生的情况: 这是因为美元吗?包含T形三通的返回值,而不是rsync? 我怎样才能解决这个问题?(我个人Linux语法有限:)

    • 我正在使用凭据和预检请求实现CORS,我有点困惑为什么预检请求在Firefox 30中始终失败,但在Safari(7.0.2)和Chrome35中有效。我认为这个问题不同于“为什么经过身份验证的CORS请求的预检OPTIONS请求在Chrome而不是Firefox中有效?”因为我没有收到401,而是来自浏览器客户端的特定CORS消息: “跨源请求已阻止:同源策略不允许读取 http://myurl

    • 在这个打印从1到10000000的所有数字、Haskell版本和C版本的简单程序中,为什么Haskell版本如此缓慢,以及哪些命令有助于学习如何提高Haskell程序的性能? 下面是一份报告,包含重现我激动人心的事件所需的所有细节,制作报告时会打印出来源,包括Makefile的来源:

    • 所以我有一个小游戏,它使用LuaJIT和LuaPower的MySQL客户端库。 现在,我已经成功地建立了连接,并且我还能够选择表,例如,但是我无法将任何数据插入表中。 错误本身是: 致命错误[未处理的异常]:尝试调用未初始化的函数指针 这是我的Lua代码,因此您可以理解我正在尝试做什么: 不幸的是,查询似乎是不正确的格式,或者至少没有真正的线索,我可以让这种情况发生。 我似乎无法进一步调试它。但我