当前位置: 首页 > java >正文

Leetcode 3649. Number of Perfect Pairs

  • Leetcode 3649. Number of Perfect Pairs
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3649. Number of Perfect Pairs

1. 解题思路

这一题首先我们需要明白,选择的两个数的实际的位置与结果是没有关系的,因此,我们不妨将所有的数字顺序排列,然后令取到的两个数a,ba,ba,b满足大小关系a≤ba\leq bab

此时,我们分类讨论,考察aaa在不同的情况下对应的满足条件的bbb的取值范围,有如下情况:

大小关系bbb的取值范围
0≤a≤b0 \leq a \leq b0aba≤b≤2aa \leq b \leq 2aab2a
a≤0≤ba \leq 0 \leq ba0b−a2≤b≤−2a-\frac{a}{2} \leq b \leq -2a2ab2a
a≤b≤0a \leq b \leq 0ab0a≤b≤a2a \leq b \leq \frac{a}{2}ab2a

然后,我们只需要考察每一个元素作为aaa的情况下对应的bbb的取法个数,然后将其相加即可。

2. 代码实现

给出python代码实现如下:

class Solution:def perfectPairs(self, nums: List[int]) -> int:nums = sorted(nums)n = len(nums)ans = 0for i, a in enumerate(nums):if a < 0:l = bisect.bisect_left(nums, -a/2)r = bisect.bisect_right(nums, -2*a)if r < n and nums[r] == -2*a:r += 1ans += r-ll = max(bisect.bisect_left(nums, a), i)r = bisect.bisect_right(nums, a/2)if r < n and nums[r] == a/2:r += 1ans += r-l-1else:l = max(bisect.bisect_left(nums, a), i)r = bisect.bisect_right(nums, 2*a)if r < n and nums[r] == 2*a:r += 1ans += r-l-1return ans

提交代码评测得到:耗时963ms,占用内存30.88MB。

http://www.xdnf.cn/news/18165.html

相关文章:

  • 面向R语言用户的Highcharts
  • 浅谈 Python 正则表达式中的 groups()
  • SpringBoot3整合OpenAPI3(Swagger3)完整指南
  • 【Python】Python 多进程与多线程:从原理到实践
  • Nodejs学习
  • CPTS---Active 复现
  • 【matlab】考虑源荷不平衡的微电网鲁棒定价研究
  • 【每日一题】Day 7
  • C 语言数据结构与算法的复杂度分析:从理论到实战的效率衡量指南
  • Vue2篇——第五章 Vue.js 自定义指令与插槽核心
  • 【JavaEE】(16) Spring Boot 日志
  • Unity作为库导入Android原生工程
  • 【github-action 如何为github action设置secrets/environment】
  • SpringAI集成MCP
  • (Arxiv-2025)OPENS2V-NEXUS:一个面向主体到视频生成的详细基准与百万规模数据集
  • 【完整源码+数据集+部署教程】织物缺陷检测系统源码和数据集:改进yolo11-RevCol
  • [数据结构] ArrayList 与 顺序表
  • 【前端进阶】UI渲染优化 - 骨架屏技术详解与多框架实现方案
  • RH134 管理网络安全知识点
  • CMake指令:查找文件(find_file)、查找目录(find_path)、查找库文件(find_library)
  • ANSI终端色彩控制知识散播(I):语法封装(Python)——《彩色终端》诗评
  • 图论Day5学习心得
  • 【运维进阶】LNMP + WordPress 自动化部署实验
  • 《Image Classification with Classic and Deep Learning Techniques》复现
  • [Code Analysis] docs | Web应用前端
  • 深度学习-计算机视觉-微调 Fine-tune
  • 学习游戏制作记录(各种独特物品效果)8.18
  • 机器学习-决策树:从原理到实战的机器学习入门指南
  • AI大模型实战:用自然语言处理技术高效处理日常琐事
  • 嵌入式设备Lwip协议栈实现功能