- 我的CSDN主页
- My Python 学习个人备忘录
- 我的HOT博
位 1 的个数
CSDN 的“每日一练” (Python) 题目。
题目
我的代码运行效果
我的解题代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
# coding: utf-8
def more(nums):
'''查找数组中的多数元素'''
temp, count = [], 0 #初始化计算过的元素数组和计数器。
for i in nums: #遍历数组。
if i not in temp: #元素未计算过,计算在数组中的总个数。
k = nums.count(i)
if k > count:
count, more = k, i #记录最多的元素及该元素在数组中的总个数。
if count > len(nums) / 2: #元素在数组中总个数多于元素个数一半,返回该元素,否则返回 None 。
return more
else:
return None
nums = [], [1, 3, 4, 5, 4], [3, 2, 3], [2, 2, 1, 1, 1, 2, 2]
for i in nums:
print(f'\n\n\n{"查找数组中的多数元素":_^32}\n\n\n{"数组:":>11}{i}\n\n{"多数元素:":>13}{more(i)}\n\n\n{"The End":_^42}\n')
原题代码“临帖”
# coding: utf-8
def more(nums):
'''查找数组中的多数元素'''
temp, count = [], 0 #初始化计算过的元素数组和计数器。
for i in nums: #遍历数组。
if i not in temp: #元素未计算过,计算在数组中的总个数。
k = nums.count(i)
if k > count:
count, more = k, i #记录最多的元素及该元素在数组中的总个数。
if count > len(nums) / 2: #元素在数组中总个数多于元素个数一半,返回该元素,否则返回 None 。
return more
else:
return None
nums = [], [1, 3, 4, 5, 4], [3, 2, 3], [2, 2, 1, 1, 1, 2, 2]
for i in nums:
print(f'\n\n\n{"查找数组中的多数元素":_^32}\n\n\n{"数组:":>11}{i}\n\n{"多数元素:":>13}{more(i)}\n\n\n{"The End":_^42}\n')
我的解题代码
# coding: utf-8
#原题答案(错误)
def majorityElement(nums):
n = len(nums)
if n == 1:
return nums[0]
dic = {}
for num in nums:
if num in dic.keys():
dic[num] += 1
print(dic[num])
if dic[num] > n / 2:
return nums[num]
else:
dic[num] = 1
def count_1(s):
'''位 1 的个数'''
return s.count('1')
ss = ('00000000000000000000000000001011',
'00000000000000000000000010000000',
'11111111111111111111111111111101'
)
for i in ss:
print(f'\n\n\n{"位 1 的个数(原题代码)":_^34}\n\n\n{"整数:":>5}{i}\n\n{" 1 的个数:":>18}{majorityElement(list(i))}\n\n\n{"The End":_^42}\n')
input(f'Any key continue...'.center(42))
for i in ss:
print(f'\n\n\n{"位 1 的个数":_^38}\n\n\n{"整数:":>5}{i}\n\n{" 1 的个数:":>18}{count_1(i)}\n\n\n{"The End":_^42}\n')
input(f'Any key continue...'.center(42))
我的HOT博:
- New:“快乐数”判断(当前阅读1170)
- New:罗马数字转换器(用罗马数字构造元素的值取模实现)(当前阅读1223)
- 罗马数字转换器|罗马数字生成器(当前阅读1481)
- 让QQ群昵称色变的神奇代码(当前阅读2745)
- 斐波那契数列(递归实现和for实现)(当前阅读1960)
- 排序数组中查找元素的重复起止位置(当前阅读1205)
- 柱状图中最大矩形(当前阅读1608)
- 电话拨号键盘的字母组合(当前阅读1227)
- 密码强度检测器(当前阅读1671)
- 求列表平衡点(当前阅读1705)
- 字符串统计(当前阅读2201)
- 尼姆游戏(代码优化版)(当前阅读826)
- Hot:尼姆游戏(聪明版首发)(当前阅读3248)
推荐条件 点阅破千
参考文章:
上一篇: 练习:移除元素
下一篇:
好文力荐:靠谱程序员的好习惯
回首页
精品文章:
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告