2021-11-15:四数相加 II。给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i,
2021-11-15:四数相加 II。给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < n;nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0。力扣454。
答案2021-11-15:
nums1+nums2存map。然后求nums3 +nums4 ,在map里找到相反数,就添加到结果里。
时间复杂度:O(N2)。
额外空间复杂度:O(N2)。
代码用golang编写。代码如下:
package main
import "fmt"
func main() {
nums1 := []int{1, 2}
nums2 := []int{-2, -1}
nums3 := []int{-1, 2}
nums4 := []int{0, 2}
ret := fourSumCount(nums1, nums2, nums3, nums4)
fmt.Println(ret)
}
func fourSumCount(A, B, C, D []int) int {
map0 := make(map[int]int)
sum := 0
for i := 0; i < len(A); i++ {
for j := 0; j < len(B); j++ {
sum = A[i] + B[j]
map0[sum]++
}
}
ans := 0
for i := 0; i < len(C); i++ {
for j := 0; j < len(D); j++ {
sum = C[i] + D[j]
if _, ok := map0[-sum]; ok {
ans += map0[-sum]
}
}
}
return ans
}
执行结果如下:
2021-11-15:四数相加 II。给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i,的更多相关文章
- 代码随想录第七天| 454.四数相加II、383. 赎金信 、15. 三数之和 、18. 四数之和
第一题454.四数相加II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, ...
- Leetcode 454.四数相加II
四数相加II 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单 ...
- Java实现 LeetCode 454 四数相加 II
454. 四数相加 II 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为 ...
- LeetCode454. 四数相加 II
题目 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 分析 关键是如何想到用 ...
- 【哈希表】leetcode454——四数相加II
编号454:四数相加II 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为 ...
- LeetCode 454.四数相加 II(C++)
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单化,所有的 A ...
- [Swift]LeetCode454. 四数相加 II | 4Sum II
Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l)there are such th ...
- 454. 四数相加 II
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单化,所有的 A ...
- 454 4Sum II 四数相加 II
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0.为了使问题简单化,所有的 A, ...
- 【力扣】454. 四数相加 II
给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单化,所有的 A ...
随机推荐
- Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口编程 + 程序打包成Windows软件
Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布局.界面切换 [本章]Qt 学习笔记 - 第三章 - Qt的三驾马车之一 ...
- IDEA下Maven项目中通过JDBC连接MySQL数据库
### 1. 在当前Maven项目的pom.xml文件中导入数据库依赖: ```<dependency> <groupId>mysql</groupId> < ...
- 驱动开发:配置Visual Studio驱动开发环境
在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.ex ...
- Python学习笔记--文件的相关操作
文件的读取操作 读操作 实现: read()--读完 read(10)--读取10个字节 readline()--将所有行并到一行输出 readlines()--一次读取一行 文件的关闭: 实现: 上 ...
- 使用MyBatis时需要注意到的事情------执行添加、修改和删除操作时,一定要记得提交事务
今天在重写添加操作代码时,发现自己写的代码没有任何报错,使用断点进行查询,发现一切正常,但是注册使用的数据就是无法添加到数据库里面 然后就去之前看过的视频里面去找错误,就发现这样一个小细节: 在视频里 ...
- linux使用汇总
linux使用汇总 Linux的目录结构 没有逻辑磁盘分区(C盘.D盘...) 是一棵树形结构,根目录是/ 根目录下边有几个文件夹,需要我们了解: /etc:配置文件所在的文件夹.比如:安装JDK,配 ...
- 机器学习基础07DAY
分类算法之决策树 决策树是一种基本的分类方法,当然也可以用于回归.我们一般只讨论用于分类的决策树.决策树模型呈树形结构.在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的 ...
- [ACM]Uva839-Not So Mobile(树状天平)
在输入过程中同时进行数据处理,代码简洁,效率较高 #include<iostream> #include<cstdio> using namespace std; bool s ...
- THM-被动侦察和主动侦查
被动与主动侦察 在计算机系统和网络出现之前,孙子兵法在孙子兵法中教导说:"知己知彼,必胜不疑." 如果您扮演攻击者的角色,则需要收集有关目标系统的信息.如果你扮演防御者的角色,你需 ...
- kubernetes 设置 Master 可调度与不可调度
kubernetes 设置 Master 可调度与不可调度 语法 kubectl taint node [node] key=value[effect] [effect] 可取值: [ NoSched ...