news 2026/5/16 8:18:09

千问 LeetCode 2354.优质数对的数目 Python3实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
千问 LeetCode 2354.优质数对的数目 Python3实现

这道题的核心在于一个巧妙的位运算性质转换,理解了它,代码就很简单了。

核心性质:
对于任意两个数 num1 和 num2,(num1 & num2) 和 (num1 | num2) 的二进制中 1 的个数之和,等于 num1 和 num2 各自二进制中 1 的个数之和。

所以,优质数对的条件就等价于:两个数的二进制 1 的个数之和 ≥ k。

Python3 实现:

class Solution:
def countExcellentPairs(self, nums: List[int], k: int) -> int:
# 1. 去重
unique_nums = set(nums)

# 2. 统计每种 1 的个数的数字数量(最多 32 位)
cnt = [0] * 33
for num in unique_nums:
# bit_count() 是 Python 3.8+ 内置方法,统计二进制中 1 的个数
cnt[num.bit_count()] += 1

# 3. 计算答案
ans = 0
for i in range(33):
for j in range(33):
if i + j >= k:
ans += cnt[i] * cnt[j]

return ans

另一种写法(更 Pythonic,用 Counter):

from collections import Counter

class Solution:
def countExcellentPairs(self, nums: List[int], k: int) -> int:
# 用 Counter 一步到位统计每种 1 的个数的数量
cnt = Counter(x.bit_count() for x in set(nums))

ans = 0
for cx, ccx in cnt.items():
for cy, ccy in cnt.items():
if cx + cy >= k:
ans += ccx * ccy

return ans

复杂度分析:
- 时间复杂度:O(n + 32²),其中 n 是数组长度,32 是常数,所以近似 O(n)。
- 空间复杂度:O(n),用于去重。

注意:
- bit_count() 是 Python 3.8+ 引入的方法,如果环境版本较低,可以用 bin(x).count('1') 替代。
- 题目中 k 最大为 60,而数字最大 10⁹ 只有 30 位二进制,所以 32 的循环范围完全够用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 8:14:36

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业级资源包解…

作者头像 李华
网站建设 2026/5/16 8:13:05

AI操控电脑:open-computer-use项目原理、部署与实战指南

1. 项目概述:当AI学会“使用”你的电脑 最近在AI圈子里,一个名为“open-computer-use”的项目引起了我的注意。简单来说,它让AI模型(比如GPT-4o、Claude 3.5 Sonnet)能够像真人一样,通过视觉和键盘鼠标操作…

作者头像 李华
网站建设 2026/5/16 8:06:18

硅光可编程处理器突破AI计算瓶颈

1. 硅光可编程处理器技术背景与核心价值 在AI计算集群面临算力瓶颈的当下,硅光子技术正成为突破传统电子计算限制的关键路径。当前主流AI计算中心普遍采用数万至数十万张GPU构建的集群系统,但受限于摩尔定律放缓与冯诺依曼架构瓶颈,电子芯片在…

作者头像 李华
网站建设 2026/5/16 8:06:06

AgentGym:构建标准化AI智能体训练与评估平台的实践指南

1. 项目概述:当AI智能体走进“健身房”最近在开源社区里,一个名为“AgentGym”的项目引起了我的注意。它来自开发者WooooDyy,名字起得很有意思——“智能体健身房”。这可不是让AI去举铁跑步,而是为那些基于大语言模型的智能体提供…

作者头像 李华
网站建设 2026/5/16 8:06:05

基于知识图谱与NLP技术的小说文本结构化分析实战

1. 项目概述:当小说遇见知识图谱 如果你和我一样,既是个技术爱好者,又是个小说迷,那你肯定有过这样的体验:读完一本情节复杂、人物关系盘根错节的小说后,合上书页,脑子里却一团乱麻。谁是谁的盟…

作者头像 李华
网站建设 2026/5/16 8:05:22

基于CLIP模型构建智能图片搜索工具:从原理到工程实践

1. 项目概述:从“找图”到“找对图”的智能跃迁在数字内容创作、电商运营、UI设计乃至日常办公中,我们都有一个高频且令人头疼的需求:从海量图片中,快速、精准地找到符合特定“感觉”或“描述”的那一张。你可能遇到过这样的场景&…

作者头像 李华