Python求助
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相同的情况呢??? {:10_266:}{:10_266:}{:10_266:} 理解啦,我应该好好听小师妹的视频的! 你这代码原理是啥?有点看不懂{:10_269:} 求主要元素,也就是在这个列表中,出现的次数超过列表总元素数三分之一的元素! muyang_zzF6 发表于 2022-1-21 19:39
求主要元素,也就是在这个列表中,出现的次数超过列表总元素数三分之一的元素!
我也是一脸懵,看了小师妹的视频,推能推出来答案,不过要我自己写代码。估计怎么也写不出来 本帖最后由 傻眼貓咪 于 2022-1-22 09:23 编辑
试试这个:nums =
major1 = major2 = nums
count1 = count2 = 0
for each in nums:
if count1 == 0:
major1 = each
elif each == major1:
count1 += 1
else:
count1 -= 1
if count2 == 0 and each != major1:
major2 = each
elif each == major2:
count2 += 1
else:
count2 -= 1
if nums.count(major1) > len(nums)/3:
print(major1)
if nums.count(major2) > len(nums)/3:
print(major2) 傻眼貓咪 发表于 2022-1-22 09:21
试试这个:
厉害了 muyang_zzF6 发表于 2022-1-22 11:58
厉害了
{:10_254:}
页:
[1]