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

查找整数列表中是否存在谷

仲霍英
2023-03-14

这里有一些示例来展示您的函数应该如何工作。

>>> valley([3,2,1,2,3])
True

>>> valley([3,2,1])
False

>>> valley([3,3,2,1,2])
False

我已经两天没睡了,我能写的最好的代码是

def valley(list):
    first =False
    second=False
    midway=0
    if(len(list)<2):
        return False
    else:
        for i in range(0,len(list)):
            if(list[i]<list[i+1]):
                first=True
                midway=i
                break
        for j in range(midway,len(list)-1):
            if(list[j]<list[j+1] and j+1==len(list)):
                Second=True
                break
            if(list[j]>=list[j+1]):
                second=False
                break
    if(first==True and second==True):
        return True
    else:
        return False

共有1个答案

年风华
2023-03-14

我找到的解决方案也适用于,如果这些数字不是完全顺序的,也没有必要,最低值必须等于1,我想说的是,如果列表是假设[14,12,10,5,3,6,7,32,41],这里也形成了一个山谷,因为值下降到3(最低),然后它又增加了。像[4,3,2,1,2,3,4]这样的列表是一个完美的山谷。

解决方案:

def valley(lst):
if len(lst)<2:
    return False
else:
    p = lst.index(min(lst))
    for i in range (0,p):
        x = (lst[i] > lst[i+1])

    for q in range (p,len(lst)-1):
        y = (lst[q]< lst[q+1])

    return (x==y)

不要忘记接受它,如果这解决了问题,是最有帮助的,谢谢。

 类似资料:
  • 问题内容: 基本上,我想要一个选择语句,其功能如下: 是否存在这样的条件,或者您如何在nvarchar(10)列中检查非整数? 问题答案: 在你可以这样做:

  • 问题内容: 如何查看索引是否包含某些数字? 问题答案: 您将为此进行字符串比较 询问数字是否“在”另一个数字中并没有真正的意义(除非您对“在”具有特定的定义)

  • 我需要验证表中是否已经存在列。我的类扩展了CustomTaskChange,因此我的方法接收一个数据库对象作为参数。我可以通过ResultSetObject进行我想要的验证吗?

  • 问题内容: 在SQL Server数据库中创建列或表之前,我想检查所需的表和/或列是否存在。 我到处搜索并找到2种方法。 存储过程,我不想使用 通过使用该方法并捕获异常来确定表/列是否存在,这对我来说是一个变通方法,但不是一个完美的解决方案。 还有另一种方法可以检查SQL Server中是否存在表/列吗? 问题答案: 要在创建架构之前检查其是否存在,请执行以下操作: 检查是否存在一列;您可以使用,

  • 问题内容: 我想知道是否有一种方法可以检查Redis列表中是否已存在密钥? 我不能使用集合,因为我不想强制唯一性,但是我确实希望能够检查字符串是否确实存在。 问题答案: 您的选择如下: 如果发现并使用并替换它。 与您的个人保持独立 循环浏览直到找到项目或到达末尾。 Redis列表是作为http://en.wikipedia.org/wiki/Linked_list实现的,因此存在局限性。 我认为您

  • 问题内容: 我想编写一个确定子列表是否存在于较大列表中的函数。 有Python函数可以做到这一点吗? 问题答案: 如果您确定输入内容仅包含数字0和1,那么可以转换为字符串: 这样会创建两个字符串,因此它不是最有效的解决方案,但是由于它利用了Python中优化的字符串搜索算法,因此对于大多数用途而言可能已经足够好了。 如果效率非常重要,则可以查看适用于列表的Boyer- Moore 字符串搜索算法。