下面给出了检查列表是否排序的两种不同方法
方法1
for i in range(len(inord) - 2):
if (inord[i] >= inord[i + 1]):
return False
return True
方法2
temp = sorted(inord)
return min([1 if i==j else 0 for i,j in zip(temp,inord)])
这两种方法是一样的,但是第二种方法在某些情况下失败了,怎么会这样呢
上述问题是针对哈克朗的问题提出的。请检查以下链接以获取完整的代码: https://www.hackerrank.com/challenges/is-binary-search-tree/forum/comments/522743
这里有两个问题:
-1
,而不是-2
李>False
。在另一种方法中,排序不会改变相同元素的顺序,因此它最终返回True
。要检查单调递增还是严格单调递增的值李>这有用吗
相关问题 更多 >
编程相关推荐