【汉明距离总和】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)]
相关推荐
苏言の狗1 分钟前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习
寻找沙漠的人4 分钟前
前端知识补充—CSS
前端·css
GISer_Jing16 分钟前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
m0_7482455218 分钟前
吉利前端、AI面试
前端·面试·职场和发展
用余生去守护24 分钟前
python报错系列(16)--pyinstaller ????????
开发语言·python
数据小爬虫@28 分钟前
利用Python爬虫快速获取商品历史价格信息
开发语言·爬虫·python
理想不理想v30 分钟前
webpack最基础的配置
前端·webpack·node.js
pubuzhixing33 分钟前
开源白板新方案:Plait 同时支持 Angular 和 React 啦!
前端·开源·github
2401_8576009543 分钟前
SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
前端·javascript·vue.js
2401_8576009543 分钟前
数字时代的医疗挂号变革:SSM+Vue 系统设计与实现之道
前端·javascript·vue.js