【汉明距离总和】python刷题记录

R4-数与位篇

python 复制代码
class Solution:
    def totalHammingDistance(self, nums: List[int]) -> int:
        #创建计数器
        trie=Counter()
        max_bit=len(bin(max(nums)))-2
        ret=0
        for i,num in enumerate(nums):
            for j in range(max_bit):
                #一位位地取出来
                bit=(num>>j)&1
                if bit:
                    ret+=i-trie[j]
                    trie[j]+=1
                else:
                    ret+=trie[j]
        return ret

ps:

counter的用法

python 复制代码
from collections import Counter

# 初始化一个空的 Counter 对象
trie = Counter()

# 添加一些元素
trie.update(['a', 'b', 'a', 'c', 'b', 'a'])

# 查看每个元素的出现次数
print(trie)  # 输出 Counter({'a': 3, 'b': 2, 'c': 1})

# 获取元素 'a' 的计数
print(trie['a'])  # 输出 3

# 如果元素不存在,返回0
print(trie['d'])  # 输出 0

# 添加更多元素
trie['a'] += 1  # 等同于 trie.update(['a'])
print(trie)  # 输出 Counter({'a': 4, 'b': 2, 'c': 1})

# 获取出现次数最多的元素
print(trie.most_common(1))  # 输出 [('a', 4)]
相关推荐
HWL5679几秒前
一个CSS属性will-change: transform
前端·css
Y淑滢潇潇几秒前
WEB 作业 即时内容发布前端交互案例
前端·javascript·交互
比特森林探险记3 分钟前
后端开发者快速入门react
开发语言·前端·javascript
存在的五月雨8 分钟前
Mysql 函数
数据库·mysql
李松桃8 分钟前
python第三次作业
java·前端·python
m0_5613596710 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
马士兵教育11 分钟前
计算机专业学生入行IT行业,编程语言如何选择?
java·开发语言·c++·人工智能·python
前方一片光明16 分钟前
SQL SERVER—将所有表的cjsj字段改为datetime2(0),去掉毫秒
数据库
一起养小猫18 分钟前
Flutter for OpenHarmony 实战:ListView与GridView滚动列表完全指南
开发语言·javascript·flutter
老邓计算机毕设20 分钟前
SSM医院疫情管理系统e3oxi(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·医疗信息化·ssm 框架·医院疫情管理系统