私はこの問題を解明するのには慣れていますが、特に1つのことに掛かっています。私はペアでリストのペアの要素をペア/ジップし、どの値が大きいかをチェックしようとしています。私はちょうど値を繰り返さずにこれらの要素をどのようにペアにするのか分かりません。繰り返しのないペアリング要素
[35,10,5,3,1,26,15]
私は望んでいません:
[35,10], [10,5]
私がしたいですか:ここで
[35,10], [5,3]
は私のコードです:
def queue_time(customers, n):
time_left = 0
max_val = max(customers[:n])
total_time = int(max_val)
other_customers = list(customers)
other_customers.remove(max_val)
for idx, el in enumerate(other_customers):
if max_val > 0:
nxt_till_times = other_customers[idx:idx+n-1]
max_other_tills = max(nxt_till_times)
max_val -= max_other_tills
print nxt_till_times
elif max_val == 0:
max_val = max(customers[idx:idx+n])
total_time += max_val
elif max_val < 0:
time_left = [-1*(max_val)]
others_still = time_left + customers[idx+1:]
max_val = max(others_still[:n])
total_time += max_val
#print total_time
return total_time
queue_time([35,10,5,3,1,26,15], 3)
コードの字下げを修正してください。 – Soviut
それに注目していただきありがとうございます。私はコピーして貼り付けたときに私のインデントをチェックするのを忘れてしまった。 forループのすべてがインデントされるべきです。 – eeskonivich