【LeetCode-中等题】 454. 四数相加 II

文章目录

    • 题目
    • 方法一:哈希表

题目

在这里插入图片描述

方法一:哈希表

哈希表记录前两个数组的和以及出现次数,然后记录后面两个数组的和,成功将四数之和转换为两数之和
因为本题特殊在和是为0 的 所以后面的两个数组之和取反 如果能在map的key中存在,说明存在和为0 的情况,则结果集数量+1

在这里插入图片描述

class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {int res = 0;  //结果集数量Map<Integer,Integer> map = new HashMap<>();//记录前两个数组的和以及出现次数for(int i : nums1)for(int j : nums2){if(!map.containsKey(i+j)) map.put(i+j,1);else map.put(i+j,map.get(i+j)+1);}//遍历后面两个数组取出各自的结果  然后再依次去加上map的key是否等于0,如果是 则将对应的次数加入结果集//因为这里已经把四数相加  简化成了两数相加了,并且相加结果要为0    那么他们之间要相加等于0   那么肯定是互为相反数的//那么只需要将后面的两个数组相加的和取反  再去map里面去匹配相同的key  取出次数即可for(int i : nums3)for(int j : nums4){int temp = (i+j)*-1;//取相反数if(map.containsKey(temp)) res+=map.get(temp);//得到相加为0 的数的次数}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC系列(六)之JSON数据返回以及异常处理机制

目录 前言 一. JSON概述 二. JSON数据返回 1. 导入pom依赖 2. 添加配置文件&#xff08;spring-mvc.xml&#xff09; 3. ResponseBody注解使用 4. 效果展示 5. Jackson介绍 三. 全局异常处理 1. 为什么要全局异常处理 2. 异常处理思路 3. 异常处理方式一 4. 异常处…

windows下安装redis扩展库

1.根据PHP版本号&#xff0c;编译器版本号和CPU架构 选择php_redis和php_igbinary文件(如果是选择线程的情况下需要再去配置php5ts.dll) windows.php.net - /downloads/pecl/releases/redis/ windows.php.net - /downloads/pecl/releases/igbinary/ php_igbinary-3.1.2-7.2-…

02_Flutter自定义Sliver组件实现分组列表吸顶效果

02_Flutter自定义Sliver组件实现分组列表吸顶效果 一.先上效果图 二.列表布局实现 比较简单&#xff0c;直接上代码&#xff0c;主要使用CustomScrollView和SliverToBoxAdapter实现 _buildSection(String title) {return SliverToBoxAdapter(child: RepaintBoundary(child: C…

Java 并发编程面试题——Fork/Join 框架

目录 1.什么是 Fork/Join 框架&#xff1f;2.什么是工作窃取算法&#xff1f;它有什么作用&#xff1f;有什么优缺点&#xff1f;3.如何设计一个 Fork/Join 框架&#xff1f;4.如何使用 Fork/Join 框架&#xff1f;5.Fork/Join 框架的实现原理是什么&#xff1f;5.1.ForkJoinTa…

论文笔记:一分类及其在大数据中的潜在应用综述

0 概述 论文&#xff1a;A literature review on one‑class classification and its potential applications in big data 发表&#xff1a;Journal of Big Data 在严重不平衡的数据集中&#xff0c;使用传统的二分类或多分类通常会导致对具有大量实例的类的偏见。在这种情况…

CentOS 8 通过YUM方式升级最新内核

CentOS 8 通过YUM方式升级最新内核 查看当前内核 uname -r 4.18.0-193.6.3.el8_2.x86_64导入 ELRepo 仓库的公钥&#xff1a; rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装升级内核相关的yum源仓库(安装 ELRepo 仓库的 yum 源) yum install https://www…

远程连接PostgreSQL:配置指南与安全建议

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

use vscode mingw cmake on windows

记住mingw去官网下面的MingW-W64-builds, 下这个版本 x86_64-13.1.0-release-posix-seh-ucrt-rt_v11-rev1.7z posix很重要, win32版本没线程支持,用到会报错 可以测试下是否能正常运行 #include <thread> #include <mutex> #include <condition_variable> …

MFC-GetAdaptersAddresses获取网卡信息

需要:#pragma comment(lib, "IPHLPAPI.lib") GetAdaptersAddresses函数参数说明 ULONG bufferSize = 0;ULONG result = ::GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_INCLUDE_PREFIX, nullptr, nullptr, &bufferSize);/*参数1:ULONG Family 网络协议族,此参…

Android学习之路(14) Context详解

一. 简介 在 Android 开发中、亦或是面试中都离不开四大组件的身影&#xff0c;而在创建或启动这些组件时&#xff0c;并不能直接通过 new 关键字后跟类名来创建实例对象&#xff0c;而是需要有它们各自的上下文环境&#xff0c;也就是本篇文章要讨论的 Context。 1.1 Contex…

线性回归方程

性回归是利用数理统计中的回归分析来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法&#xff0c;是变量间的相关关系中最重要的一部分&#xff0c;主要考查概率与统计知识&#xff0c;考察学生的阅读能力、数据处理能力及运算能力&#xff0c;题目难度中等&…

uniapp 下拉框数据回显的问题

问题 : 现在是下拉框数据回显不了, 绑定的v-model 原因 : uniui 下拉框数据绑定要是 value text 这种格式的 解决办法: 将获取到的后端数据 转换为 需要的格式 ,再进行绑定 下拉框的数据 遍历

【操作系统】进程的概念、组成、特征

概念组成 程序&#xff1a;静态的放在磁盘&#xff08;外存&#xff09;里的可执行文件&#xff08;代码&#xff09; 作业&#xff1a;代码&#xff0b;数据&#xff0b;申请&#xff08;JCB&#xff09;&#xff08;外存&#xff09; 进程&#xff1a;程序的一次执行过程。 …

电脑磁盘清理怎么做?2个方法,轻松释放内存!

“我电脑里的垃圾文件好像太多了&#xff0c;想给电脑做个全面的磁盘清理&#xff0c;我应该怎么操作呢&#xff1f;” 在计算机的使用中&#xff0c;定期进行电脑磁盘清理是至关重要的。这不仅可以帮助您释放宝贵的磁盘空间&#xff0c;还能提升系统性能和维护电脑的正常运行。…

Redis 核心数据结构理论解析

一、简述 redis是一个开源的使用C语言编写的一个kv存储系统&#xff0c;是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 除此之外&#xff0c;通过复制、持久化和客户端分片等特性&#xff0c;用户可以很方便地将redis扩展…

Linux(下)

一、 对netstat的补充 1.进程管理 在杀死进程时&#xff0c;不可以杀死其他用户的进程。 查看指定进程时&#xff0c;下图的第二行 是ps -ef | grep tail 命令执行的进程 kill -9 进程号 也可以写作 kill -s 9 进程号 机器人&#xff1a; 2.查看主机状态 将进程的信息分三…

国家信息中心举办“数字政府建设暨数字安全技术”研讨会:海云安提出数字政府软件供应链安全解决方案

近日&#xff0c;由国家信息中心主办&#xff0c;复旦大学研究院承办的“数字政府建设暨数字安全技术研讨会”在义乌顺利召开。国家信息中心信息与网络安全部副主任禄凯&#xff0c;复旦大学党委常委、宣传部部长陈玉刚&#xff0c;义乌市委常委、常务副市长喻新贵为会议致辞。…

Apollo介绍和入门

文章目录 Apollo介绍配置中心介绍apollo介绍主流配置中心功能特性对比 Apollo简介 入门简单的执行流程Apollo具体的执行流程Apollo对象执行流程分步执行流程 核心概念应用&#xff0c;环境&#xff0c;集群&#xff0c;命名空间企业部署方案灰度发布全量发布 配置发布的原理发送…

使用共享 MVI 架构实现高效的 Kotlin Multiplatform Mobile (KMM) 开发

使用共享 MVI 架构实现高效的 Kotlin Multiplatform Mobile (KMM) 开发 文章中探讨了 Google 提供的应用架构指南在多平台上的实现。通过共享视图模型&#xff08;View Models&#xff09;和共享 UI 状态&#xff08;UI States&#xff09;&#xff0c;我们可以专注于在原生端…

leetcode 2. 两数相加

2023.9.14 这道题还是有点难度&#xff0c; 需要维护一个进位值&#xff0c;构造一个虚拟头节点dummy&#xff0c;用于结果的返回&#xff0c;还要构造一个当前节点cur&#xff0c;用于遍历修改新链表。 整体思路就是长度短的链表需要补0&#xff0c;然后两链表从头开始遍历相加…