山西李逵 发表于 2021-11-3 16:32:31

摩尔投票

n =

count = n
number = 0
for each in n:
    if number == 0:
      count = each
    if each == count:
      number += 1
    else:
      number -= 1
if n.number(count) > len(n) / 2:
    print("主要元素是:", count)
else:
    print("不存在主要元素。")
不能运行怎么回事呢

suchocolate 发表于 2021-11-3 18:14:31

先问一下你的代码目的是什么?n.number是什么看不大懂啊。

傻眼貓咪 发表于 2021-11-3 18:28:28

本帖最后由 傻眼貓咪 于 2021-11-3 18:31 编辑

arr =
max = 0
res = []
for each in arr:
    if arr.count(each) > max:
      max = arr.count(each)
      res.clear()
      res.append(each)
    elif arr.count(each) == max and each not in res:
      res.append(each)

print("主要元素是:{}".format(*res) if len(res) < len(arr) else "不存在主要元素。")
页: [1]
查看完整版本: 摩尔投票