|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如果有一个列表,其中占比超过一半的元素称之为主要元素,那么如何获取一个列表的主要元素呢?
题目给定的列表是:[2, 2, 4, 2, 3, 6, 2]
请根据解题思路进行编程。
nums = [2,2,4,2,3,6,2,2,3,3]
nums.sort()
n = len(nums)
j = 0
for i in nums:
if n % 2 == 0 :
if i == nums[n//2] and nums[n//2 - 1 ] == nums[n//2] :
j += 1
if j >= n // 2 + 1 :
print(i, "为主要元素")
break
elif n % 2 == 1 :
if i == nums[n // 2]:
j += 1
if j > (n //2):
print(i,"为主要元素")
break
else:
print("不存在主要元素")
break
这是我写的代码,输出应该没问题,想问问大佬是否有问题,需要简化吗 如何简化
- nums = [2,2,4,2,3,6,2,2,3,3]
- for each in set(nums):
- if nums.count(each) >= len(nums) // 2 + 1:
- print('存在主要元素%s'%each)
- break
- else:
- print("不存在主要元素")
复制代码
|
|