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

四数之和(LeetCode)

题目

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):

  • 0 <= a, b, c, d < n
  • abc 和 d 互不相同
  • nums[a] + nums[b] + nums[c] + nums[d] == target

解题

def fourSum(nums, target):nums.sort()  # 首先对数组进行排序result = []  # 用于存储结果的列表for i in range(len(nums) - 3):if i > 0 and nums[i] == nums[i - 1]:# 避免重复的四元组continuefor j in range(i + 1, len(nums) - 2):if j > i + 1 and nums[j] == nums[j - 1]:# 避免重复的四元组continueleft, right = j + 1, len(nums) - 1while left < right:total = nums[i] + nums[j] + nums[left] + nums[right]if total < target:left += 1elif total > target:right -= 1else:# 找到一个和为target的四元组result.append([nums[i], nums[j], nums[left], nums[right]])# 跳过重复的元素while left < right and nums[left] == nums[left + 1]:left += 1while left < right and nums[right] == nums[right - 1]:right -= 1# 移动到下一个不同的元素left += 1right -= 1return result# 示例
nums = [1, 0, -1, 0, -2, 2]
target = 0
print(fourSum(nums, target))

[[-2, -1, 1, 2], [-2, 0, 0, 2], [-1, 0, 0, 1]]

http://www.lryc.cn/news/420097.html

相关文章:

  • 学习使用备份软件BorgBackup
  • Java 实现合并两个有序链表:递归与迭代
  • 【每日刷题】Day98
  • 51单片机-LED实验二
  • 批发行业进销存-webview 读取NFC,会员卡 源码CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
  • 博弈dp,CF 731E - Funny Game
  • 基础知识:深入理解MongoDB、MySQL与Redis的应用与实践
  • Reids中List类型、Set类型、SortedSet类型的常用指令
  • K8S Ingress 常用配置
  • 【K8S】K8S架构及相关组件
  • 【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集(无目标函数)【更新中】
  • 【K8S】为什么需要Kubernetes?
  • 【Linux】Linux中查找字符串中的命令
  • 最新HTML设计搜索表单
  • JavaScript constructor原型原型继承
  • 使用Python+moviepy保存截取视频画面
  • 【DOCKER】显示带UI的软件
  • Atcoder Beginner Contest 366
  • 【hexo博客问题】
  • 用数组模拟栈和队列
  • Django内置后端和自定义后端
  • 嵌入式人工智能(OpenCV-基于树莓派的人脸识别与入侵检测)
  • 如何选择适合的香港云服务器提供商?
  • 安卓Android JAVA校招/实习面试合集:多线程、强软弱虚引用、进程、内存管理、Activity、Fragment......
  • Jeecgboot 字典值自动转化:DictAspect类方法改造,支持IPage、List、Object、Map类自动转化,附有源码
  • DVWA DOM Based Cross Site Scripting (DOM型 XSS)
  • LinkedList集合及迭代器的源码分析
  • Go调度器
  • 当node节点kubectl 命令无法连接到 Kubernetes API 服务器
  • 直接通过类CURL方式,与GRPC方法交互的命令行工具