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

四数相加 II--力扣454

四数相加 II

  • 题目
  • 思路
  • C++代码

题目

在这里插入图片描述

思路

我们需要统计元组的个数,并且不需要排序和去重,所以选择哈希表unordered_map。

要使得a+b+c+d=0,我们首先利用map在前两个数组中统计a+b的值以及该值出现的次数。

接下来我们去后两个数组中查找0-(c+d),因为a+b=0-(c+d),如果能够找到,说明在这四个数组中存在a+b+c+d=0,那么上述统计的a+b出现的次数即为元组个数,我们用count累计一下,然后继续遍历。

C++代码

class Solution {
public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map<int, int> map;//出现的元组个数int count = 0;//统计前两个数组元素之和a+b,以及出现的次数。for (int a : nums1) {for (int b : nums2) {map[a + b]++;}}//接下来在另外两个数组找到0-(a+b),上面统计的次数就为满足题目要求的元组数for (int c : nums3) {for (int d : nums4) {if (map.find(0 - (c + d)) != map.end()) {count += map[0 - (c + d)];}}}return count;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【经纬度坐标系、墨卡托投影坐标系和屏幕坐标系转换详解】
  • Numpy中常用的数学方法
  • 输入子系统
  • 大型语言模型中推理链的演绎验证
  • 漫谈设计模式 [2]:工厂方法模式
  • 第145天:内网安全-Linux权限维持Rootkit后门Strace监控Alias别名Cron定时任务
  • 在这12种场景下会使Spring事务失效--注意防范
  • RestTemplate服务调用
  • Qt C++ Udp相关知识学习(一)
  • React 通用后台管理项目
  • 使用paddlerocr识别固定颜色验证码
  • Spring Boot实现发QQ邮件
  • 算法day23| 93.复原IP地址、78.子集、90.子集II
  • python第二章课堂笔记
  • Maven基本使用(下)
  • ----------
  • 【mysql】环境安装、服务启动、密码设置
  • css的样式优先级
  • js算法-归并排序(merge_sort)
  • js中的正则表达式入门
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Odoo domain写法及运用
  • OSS Web直传 (文件图片)
  • Sass 快速入门教程
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 闭包--闭包之tab栏切换(四)
  • 翻译:Hystrix - How To Use
  • 工程优化暨babel升级小记
  • 经典排序算法及其 Java 实现
  • 开源地图数据可视化库——mapnik
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端自动化解决方案
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • Java总结 - String - 这篇请使劲喷我
  • ​520就是要宠粉,你的心头书我买单
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (八)Spring源码解析:Spring MVC
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (含笔试题)深度解析数据在内存中的存储
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (转)【Hibernate总结系列】使用举例
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • ***测试-HTTP方法
  • .gitignore文件设置了忽略但不生效
  • .java 9 找不到符号_java找不到符号
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .Net--CLS,CTS,CLI,BCL,FCL
  • .NET成年了,然后呢?
  • .NET处理HTTP请求
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示