当前位置: 首页 > 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]]

相关文章:

四数之和(LeetCode)

题目 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#xff09;&#xff1a; 0 <…...

学习使用备份软件BorgBackup

Time Machine是官方提供的强大备份系统&#xff0c;它能够备份macOS系统的一切&#xff0c;包括文件、照片、网页纪录、帐号密码以及安装过的软件等。如果系统出了问题&#xff0c;使用”时光回溯“&#xff0c;系统就能回到任意记录点&#xff0c;用过的多说好&#xff01; B…...

Java 实现合并两个有序链表:递归与迭代

Java 实现合并两个有序链表&#xff1a;递归与迭代 在面试和算法题中&#xff0c;合并两个有序链表是一个经典问题。通过这个问题&#xff0c;不仅可以考察候选人的基础数据结构掌握情况&#xff0c;还能测试他们对递归和迭代等编程技巧的应用能力。 本文将讨论如何使用 Java…...

【每日刷题】Day98

【每日刷题】Day98 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 大数加法_牛客题霸_牛客网 (nowcoder.com) 2. 大数乘法_牛客题霸_牛客网 (nowcoder.com) 3. 扑克牌…...

51单片机-LED实验二

使用51单片机进行LED灯的实验&#xff0c;使用8个LED灯展示二进制数&#xff0c;使用独立按键控制二进制数的加法&#xff0c;每次按下独立按键K2&#xff0c;就让二进制数加一&#xff0c;定义了一个LedNum,表示二进制数&#xff0c;二进制数取反之后可以得到输出到LED端口的8…...

批发行业进销存-webview 读取NFC,会员卡 源码CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构

一、混合应用开发 混合应用顾名思义就是网页html和原生APP共同作用的结果 好处在一既有web的跨平台优势&#xff08;安卓、苹果&#xff0c;电脑、国产电脑、平板电脑&#xff0c;自助机都能用&#xff09; 好处二可以离线使用&#xff0c;比较稳定 好处三可以与本地硬件交…...

博弈dp,CF 731E - Funny Game

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 731E - Funny Game 二、解题报告 1、思路分析 游戏规则其实就是交替取前缀和 考虑 f(i) 为 某人先手取前 i 个&#xff0c;最终能得到的最大分差 由于每人都是最佳发挥&#xff0c;所以有如下状态转移&am…...

基础知识:深入理解MongoDB、MySQL与Redis的应用与实践

基础知识&#xff1a;深入理解MongoDB、MySQL与Redis的应用与实践 在现代应用开发中&#xff0c;数据库系统的选择对于系统的性能、扩展性和维护性有着至关重要的影响。MongoDB、MySQL 和 Redis 是三种流行的数据库技术&#xff0c;它们各自有着独特的特点和适用场景。本文将详…...

Reids中List类型、Set类型、SortedSet类型的常用指令

List类型&#xff1a; Redis中的List类型与Java中的LinkedList类似&#xff0c;可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。 特征也与LinkedList类似&#xff1a; 有序元素可以重复插入和删除快查询速度一般 常用来存储一个有序数据&#xff0c…...

K8S Ingress 常用配置

目录 介绍ingress 安装 基本使用请查看域名重定向前后端分离配置默认证书配置指定证书配置白名单配置黑名单配置Annotations 配置ConfigMap 配置 匹配请求头速率限制限制客户端的最大连接数限制每秒钟段并发连接数限制每分钟段并发请求突发访问限制限制传输速度速率限制白名单 …...

【K8S】K8S架构及相关组件

文章目录 1 K8S总体架构2 相关组件2.1 控制面板组件2.2 节点组件2.3 附加组件 写在最后 1 K8S总体架构 K8S&#xff0c;全称Kubernetes&#xff0c;是一个开源的容器部署和管理平台&#xff0c;由Google开发&#xff0c;后捐献给云原生计算基金会&#xff08;CNCF&#xff09;…...

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集(无目标函数)【更新中】

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集&#xff08;无目标函数&#xff09;【更新中】 一、FAST&#xff08;Fourier Amplitude Sensitivity Test&#xff09; FAST&#xff08;Fourier Amplitude Sensitivity Test&#…...

【K8S】为什么需要Kubernetes?

文章目录 1 什么是Kubernetes&#xff1f;2 三种常见的应用部署方式2.1 传统部署2.2 虚拟化部署2.3 容器化部署 3 Kubernetes的特点写在最后 1 什么是Kubernetes&#xff1f; Kubernetes是 一个开源的&#xff0c;用于管理云平台中多个主机上的容器化应用&#xff0c;Kubernet…...

【Linux】Linux中查找字符串中的命令

在Linux中&#xff0c;查找字符串的命令通常使用grep。grep是一个强大的工具&#xff0c;用于在文件中搜索指定模式的字符串。以下是一些基本用法&#xff1a; 1.在文件中查找字符串 grep "字符串" 文件名例如&#xff0c;查找文件example.txt中包含“hello”的行&…...

最新HTML设计搜索表单

设计搜索表单 页眉中包含表单&#xff0c;表单中只需包含label和Input. 实现如下效果&#xff1a;文本框动态变宽效果 代码&#xff1a;6.2.4.设计搜索表单.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title></t…...

JavaScript constructor原型原型继承

constructor 在 JavaScript 中&#xff0c;构造函数是一种特殊的函数&#xff0c;使用 new 关键字来调用&#xff0c;用于创建对象实例。JavaScript 中的构造函数通常通过 function 关键字定义。 例如&#xff1a; function Person(name, age) {this.name name;this.age a…...

使用Python+moviepy保存截取视频画面

一、 使用VideoFileClip对象的的save_frame函数保存截取的第1帧画面 from moviepy.editor import * mvVideoFileClip(/home/Download/leaves.mp4) mv.save_frame(/home/Download/fst.jpg) # 默认保存截取的第1帧画面 二、 使用VideoFileClip对象的的save_frame函数保存截…...

【DOCKER】显示带UI的软件

1. Linux 1.1 宿主机开放X server权限 xhost 1.2 启动容器 docker run -it --rm --privilegedtrue --useru20 --workdir/home/u20 \ -e DISPLAYhost.docker.internal:0 u20:dev1.3 测试 # 安装测试软件 sudo apt-get -y install x11-apps# 显示测试程序 xclock2. Windows …...

Atcoder Beginner Contest 366

传送门 A - Election 2 时间限制&#xff1a;2秒 内存限制&#xff1a;1024MB 分数&#xff1a;100分 问题描述 在 AtCoder 市举行市长选举。候选人是 Takahashi 和 Aoki。 目前有 N 张有效选票投给了这两个候选人&#xff0c;并且计票正在进行中。这里&#xff0…...

【hexo博客问题】

windows下使用gitbash即可使用 其他bash会产生权限问题 npm install失败 $ npm install npm error code ENOENT npm error syscall open npm error path F:\pf_project\blog_pf\package.json npm error errno -4058 npm error enoent Could not read package.json: Error: E…...

【 Claw-Code】 技术深度解析:Claude Code Agent Harness 的开源重实现

文章目录Claw-Code 技术深度解析&#xff1a;Claude Code Agent Harness 的开源重实现一、引言二、项目背景与定位2.1 为什么是"洁室重实现"2.2 项目核心目标三、双语言架构设计3.1 双语言实现对比3.2 Rust Workspace 模块划分四、核心组件解析4.1 运行时&#xff08…...

6 鸿蒙应用启动速度优化全流程拆解 | 鸿蒙开发筑基实战

6 鸿蒙应用启动速度优化全流程拆解 | 鸿蒙开发筑基实战 作者&#xff1a;杨建宾&#xff08;华夏之光永存&#xff09; 摘要 本文面向鸿蒙应用开发工程师&#xff0c;聚焦应用启动慢、首屏白屏等核心痛点&#xff0c;拆解从代码配置到资源处理的全流程优化方案。内容包含启动流…...

百川2-13B-4bits量化版API优化:降低OpenClaw任务Token消耗20%

百川2-13B-4bits量化版API优化&#xff1a;降低OpenClaw任务Token消耗20% 1. 问题背景与优化动机 上周在调试OpenClaw自动化流程时&#xff0c;我发现一个奇怪现象&#xff1a;同样的文件整理任务&#xff0c;在不同时段运行时消耗的Token数量差异能达到30%。作为个人开发者&…...

CPAL脚本自动化测试 ———— 深度解析Test Report系列函数与应用场景

1. 为什么我们需要定制化测试报告&#xff1f; 在车载网络测试领域&#xff0c;特别是涉及自动驾驶功能的验证时&#xff0c;一个标准的测试报告往往无法满足工程师的需求。想象一下&#xff0c;当你花了三天三夜跑完2000个测试用例后&#xff0c;拿到的报告却只有简单的"…...

OpenClaw截图分析进阶:千问3.5-9B识别UI元素与操作建议

OpenClaw截图分析进阶&#xff1a;千问3.5-9B识别UI元素与操作建议 1. 为什么需要截图分析能力&#xff1f; 上周我在测试一个内部工具时遇到了一个典型问题——某个按钮在特定分辨率下会消失不见。手动排查需要反复调整窗口尺寸并肉眼检查&#xff0c;效率极低。这时我想到了…...

OpenClaw飞书机器人配置指南:Qwen3-14b_int4_awq实现对话触发任务

OpenClaw飞书机器人配置指南&#xff1a;Qwen3-14b_int4_awq实现对话触发任务 1. 为什么选择OpenClaw飞书机器人组合&#xff1f; 去年我接手了一个小团队的内部工具优化项目&#xff0c;需要解决两个核心痛点&#xff1a;一是团队成员频繁在飞书群内重复询问相同问题&#x…...

HP20x气压传感器Arduino驱动深度解析

1. Grove Barometer HP20x 高精度气压/温度/海拔传感器驱动深度解析1.1 项目定位与工程价值Grove Barometer HP20x 是 Seeed Studio 推出的基于 HP206C&#xff08;或兼容型号 HP203B/HP202C&#xff09;高精度气压传感芯片的模块化传感器。该驱动库并非简单封装&#xff0c;而…...

2026 codex 大模型 api 配置指南:auth.json、config.toml 与 401/超时排查

当 codex --version 已经能正常输出&#xff0c;很多人会以为接下来只剩下提问和改代码。但真正决定 Codex 能不能顺利进入项目的&#xff0c;往往是 codex 大模型 api 有没有按要求接好&#xff1a;只要 auth.json、config.toml 或网关地址有一点偏差&#xff0c;就可能马上碰…...

【全球首批C++27静态反射商用项目解密】:西门子PLC配置引擎重构实测——编译时间+12%,运行时内存下降93.7%

第一章&#xff1a;C27静态反射工业应用案例C27引入的静态反射&#xff08;Static Reflection&#xff09;核心特性——基于std::reflexpr与编译期元对象模型&#xff08;Meta Object Model, MOM&#xff09;——已进入关键工业验证阶段。多家汽车电子与工业控制厂商在AUTOSAR …...

基于Matlab的多自由度轴承静刚度计算之旅

基于Matlab的多自由度轴承静刚度计算 因分析静态下刚度结果&#xff0c;仅考虑重力作用&#xff0c;未考虑离心力的作用 深沟球轴承和圆锥轴承基本参数包括滚珠数量、滚珠直径、中称直径、曲率和材料参数 程序已调通&#xff0c;可直接运行在机械工程领域&#xff0c;深入了解轴…...