Python 为什么此代码不是对所有情况都有效?
我正在尝试解决黑客等级的问题: 这是我的密码:Python 为什么此代码不是对所有情况都有效?,python,Python,我正在尝试解决黑客等级的问题: 这是我的密码: L = [] check = True num_cases = int(input()) for i in range(num_cases): num_cubes = int(input()) inp = input() L = inp.split(" ") for m in range(0, len(L)): L[m] = int(L[m]) while len(L) != 1:
L = []
check = True
num_cases = int(input())
for i in range(num_cases):
num_cubes = int(input())
inp = input()
L = inp.split(" ")
for m in range(0, len(L)):
L[m] = int(L[m])
while len(L) != 1:
x = max(L)
if L.count(x) <= 2:
if x == L[0] or x == L[-1]:
while x in L:
L.remove(x)
else:
check = False
break
else:
check = False
break
if check == False:
print("No")
else:
print("Yes")
L = []
check = True
这里我检查列表的最大值是否位于列表的两端
此代码适用于我给出的所有情况,但不适用于网站给出的任何情况
测试用例1:
测试用例1的预期解决方案:
另外,如果我需要以任何方式编辑我的问题,请通知我。如果L.countx,您应该删除
L.countx有哪些失败的案例?请给出输入和预期输出I已编辑问题当输入由许多重复数字组成时,您的代码失败,例如6。你可以试着先解决这个问题。如果我正确理解了这个练习,它应该返回Yes,但是您的代码返回No.@Demi Lune Correct,因为行if L.countx您也可以尝试1 5 1 5,您将看到您在第一次迭代中删除了两个5,当你应该只删除最右边的一个。我不明白你的下半部分答案的大部分…建议?或者替代实现?在下面的部分和所有内容中,我添加了一个求解函数的示例