摩尔计数法
第022讲摩尔计数法plus标答长这样:nums =
major1 = major2 = nums
count1 = count2 = 0
# 对抗阶段
for each in nums:
if major1 == each:
count1 += 1
continue
if major2 == each:
count2 += 1
continue
if count1 == 0:
major1 = each
count1 = 1
continue
if count2 == 0:
major2 = each
count2 = 1
continue
count1 -= 1
count2 -= 1
# 统计阶段
if nums.count(major1) > len(nums) / 3:
print(major1)
if nums.count(major2) > len(nums) / 3:
print(major2)
所以major1和major2从始至终运行一样的步骤,为什么最后会得出两个结果? 遍历时 if 每次只运行一次就继续下次循环,结果怎么会一样 tiangtian 发表于 2022-4-15 18:37
遍历时 if 每次只运行一次就继续下次循环,结果怎么会一样
就是continue发挥的作用?
还有一个不明白的地方就是18行为什么要让count1=1
页:
[1]