【汉明距离总和】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)]
相关推荐
水蓝烟雨3 分钟前
3487. 删除后的最大子数组元素和
算法·leetcode·链表
Elastic 中国社区官方博客3 分钟前
在 Discover 中探索来自新的时间序列数据流的指标
大数据·数据库·目标检测·elasticsearch·搜索引擎·数据分析·全文检索
2301_803875615 分钟前
Redis如何通过永不过期策略规避击穿
jvm·数据库·python
2301_8166602112 分钟前
CSS中relative与absolute的区别_详解相对与绝对定位应用场景
jvm·数据库·python
dsyyyyy110119 分钟前
HTML总结
前端·html
qq_4609784021 分钟前
Golang怎么JWT设置过期时间_Golang如何在Claims中配置Token有效期【操作】
jvm·数据库·python
用户23678298016821 分钟前
Canvas:实现一个高颜值二维码生成器
javascript
weixin_5689960624 分钟前
Cgo 中正确设置 C 结构体回调函数指针的完整方案
jvm·数据库·python
Jun62624 分钟前
【RV1103】AD4115实现8通道ADC采样,MQTT数据传输,1K采样率
linux·python
橘颂TA34 分钟前
【Linux】自旋锁
linux·开发语言·数据库·c++