在我的下面的代码中,使用i = len(scheduled_meetings)-1或i = 0 / i + = 1方法会更好吗?我知道len()的成本是O(1),并且它可能更清楚这种方式是什么,但是它在sorted_meetings中计算每m。 i = 0设置一次然后仅在列表中附加了某些内容时才递增。会有差异吗?这两种方法都适用于我的测试用例,只是希望获得一些更好的反馈。
import operator
def answer(meetings):
# sort by earliest end time
sorted_meetings = sorted(meetings, key=operator.itemgetter(1))
# always select the earilest end time
scheduled_meetings = [sorted_meetings[0]]
i = 0 #METHOD B
for m in sorted_meetings:
i = len(scheduled_meetings) - 1 #METHOD A
if m[0] >= scheduled_meetings[i][1] or m[1] <= scheduled_meetings[i][0]:
scheduled_meetings.append(m)
i += 1 #METHOD B
return len(scheduled_meetings)
答案 0 :(得分:8)