28-代码随想录18四数之和

server/2024/9/24 1:15:33/

18. 四数之和

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

0 <= a, b, c, d < n
a、b、c 和 d 互不相同
nums[a] + nums[b] + nums[c] + nums[d] == target
你可以按 任意顺序 返回答案 。

示例 1:

输入:nums = [1,0,-1,0,-2,2], target = 0
输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
示例 2:

输入:nums = [2,2,2,2,2], target = 8
输出:[[2,2,2,2]]

提示:

1 <= nums.length <= 200
-109 <= nums[i] <= 109
-109 <= target <= 109

代码

def numsum(nums,target):d = {}for num in nums:d[num]=d.get(num,0)+1ans=set()for i in range(len(nums)):for j in range(i+1,len(nums)):for k in range(j+1,len(nums)):val=target-(nums[i]+nums[j]+nums[k])if val in d:count= (nums[i] == val) + (nums[j] == val) + (nums[k] == val)if d[val] > count:ans.add(tuple(sorted([nums[i], nums[j], nums[k], val])))print([list(x) for x in ans])returnif __name__=='__main__':nums=input("nums=").split()nums=[int(x) for x in nums]target=int(input("target="))numsum(nums,target)

结果

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/server/36852.html

相关文章

react antd table 自定义表头功能实现

react antd table 自定义表头功能 Ⅰ- 壹 - 功能展示和使用需求 需求描述 基于antd table 实现 自定义 table 的表头 内容 排序 宽度和顺序等 , 可根据自己的需求自己扩展 github:https://github.com/whqgo/ReactAntdTableCustomHeader 功能展示 Ⅱ - 贰 - 封装思路 Task…

使用QT开发ROS可视化界面

Q&#xff1a; undefined reference to non-virtual thunk to MyViz A&#xff1a; 该问题主要由于QT中的MOC File没有正确生成&#xff0c;导致虚函数列表出现问题。另外&#xff0c;需要注意虚函数的virtual关键字需要放在类的声明&#xff0c;不能放在类的定义。 qt5_wrap…

Jira Server 不维护了,如何将 Jira 平滑迁移到阿里云云效

作者&#xff1a;天彤 Atlassian 在 2020 年官方发布公告&#xff0c;从 2021 年起停止 Jira Server 产品的销售&#xff0c;并且在 2024 年彻底停止 Server 端产品的服务支持&#xff0c;这对于国内使用 Jira 产品的企业和研发团队造成了不小的影响。而此时国内很多 DevOps 产…

微搭低代码入门06分页查询

目录 1 创建自定义代码2 编写分页代码3 创建页面4 创建变量5 配置数据列表总结 我们在数据模型章节介绍了微搭后端服务编写的三种方式&#xff0c;包括Http请求、自定义代码、云函数。本篇我们详细讲解一下利用自定义代码开发分页查询的功能。 1 创建自定义代码 打开控制台&am…

Python学习笔记(五)——函数和代码得复用

函数的定义与使用 函数的定义 函数是一段代码的表示&#xff0c;也是一段代码的完整封装 -函数是一段具有特定功能的、可重复使用的语句组 -函数是一种功能的抽象&#xff0c;一般函数表达特定功能 -两个作用&#xff1a;降低编码难度和代码复用 def <函数名>(<…

BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU、TCN-BIGRU-ATTENTION合集

&#xff08;BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU、TCN-BIGRU-ATTENTION&#xff09;时&#xff0c;我们可以从它们的基本结构、工作原理、应用场景以及优缺点等方面进行详细介绍和分析。 BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU等&#xff08;matlab…

Spring Cloud 整合Sentinel

1、引入依赖 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 父pom <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <spring.cloud.alibaba.version>2.2.10-RC1</spring.cloud.alibaba.version>Sentinel应用直接引用starter <…

【JAVA |基础】运算符、程序逻辑控制以及方法的使用

目录 一、前言 二、操作符 1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.条件&#xff08;三目、三元&#xff09;运算符 6.位运算符(都是基于二进制来计算) 三、 程序逻辑控制 1.顺序结构 2.分支结构 if语句 Switch语句 3.循环结构 while语句 for循环…