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

第454题.四数相加II

力扣题目链接

给你四个整数数组 nums1nums2nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:

  • 0 <= i, j, k, l < n
  • nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

 分析:

当需要判断一个元素是否在集合中时,就使用哈希法

set map multiset multimap 底层为红黑树,unordered_set unordered_map底层是哈希

unordered_set会去重,故使用unordered_map。

如果首先遍历一个数组,然后遍历三个数组来进行判断,时间复杂度n*n^3;

如果遍历两个数组,然后遍历两个数组进行判断,时间复杂度n^2*n^2,为最优解。

 map中的key对应a+b数组的和,value对应和出现的次数。

int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) {unordered_map<int, int> umap; //key:a+b的数值,value:a+b数值出现的次数for (int a:A) {for (int b:B) {umap[a+b]++;}}int count = 0;//统计总次数   a+b+c+d=0 c+d=0-(a+b)for (int c:C) {for (int d:D) {if (umap.find(0-(c+d))!=umap.end()) {count += umap[0 - (c + d)];//每出现一次 就和a+b数组中出现的次数相加}}}return count;
}

相关文章:

第454题.四数相加II

力扣题目链接 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 分析&#xff1a; 当需要判断一个元素是…...

RabbitMQ消息队列

简介 MQ(message queue)&#xff0c;从字面意思上看就个 FIFO 先入先出的队列&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;它是一种具有接收数据、存储数据、发送数据等功能的技术服务。 作用&#xff1a;流量削峰、应用解耦、异步处理。 生产者将消息发送…...

ModBus电表与RS485电表有哪些区别?

在能源计量领域&#xff0c;ModBus电表和RS485电表是两种常见的设备&#xff0c;它们都具有监测和记录电能数据的功能。然而&#xff0c;它们之间存在一些区别&#xff0c;比如通信协议、连接方式、数据格式等等参数的区别有哪些&#xff1f; ModBus电表和RS485电表都是用于电能…...

vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options

在运行vue项目中&#xff0c;遇到报错&#xff1a;ValidationError: webpack Dev Server Invalid Options&#xff0c;如下图截图&#xff1a; 主要由于vue.config.js配置文件错误导致的&#xff0c;具体定位到proxy配置代理不能为空&#xff0c;导致运行项目报错&#xff0c;需…...

书摘:C 嵌入式系统设计模式 02

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。 结构化编程将软件组织成两个截然不同的…...

排序算法基本原理及实现1

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 &#x1f4d1;插入排序 &#x1f4…...

Unity 轨道展示系统(DollyMotion)

DollyMotion &#x1f371;功能展示&#x1f959;使用&#x1f4a1;设置路径点&#x1f4a1;触发点位切换&#x1f4a1;动态更新路径点&#x1f4a1;事件触发&#x1f4a1;设置路径&#x1f4a1;设置移动方案固定速度方向最近路径方向 &#x1f4a1;设置移动速度曲线 传送门 &a…...

优维低代码实践:搜索功能

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…...

C# ReadOnlyRef Out

C# ReadOnly ReadOnly先看两种情况1.值类型2.引用类型 结论 Ref Out ReadOnly官方文档 ReadOnly 先看两种情况 1.值类型 当数据是值类型时&#xff0c;标记为Readonly时&#xff0c;如果再次设置值&#xff0c;会提示报错&#xff0c;无法分配到只读字段 public class A {pri…...

linux 服务 下 redis 安装和 启动

官网下载 https://redis.io/download/ 安装步骤&#xff1a; 1.安装redis 所需要的依赖 yum install -y gcc tcl2.上传安装包并解压&#xff0c;下载安装包&#xff0c;上传到/usr/local/src目录&#xff0c;解压 tar -zxvf redis-7.2.3.tat.gz进入安装目录&#xff0c;运行…...

ECharts与Excel的结合实战

引言&#xff1a;本文是一篇ECharts和Excel实战的记录。将Excel与ECharts产生火花&#xff0c;从Excel读取数据然后在ECharts上展示。 1.柱状图前端代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title…...

UDP的特点及应用场景

目录 UDP特点 应用场景 总结 User Datagram Protocol&#xff08;UDP&#xff0c;用户数据报协议&#xff09;是互联网协议套件中的一种传输层协议。与TCP不同&#xff0c;UDP是一种无连接的、不可靠的协议。 UDP特点 要知道UDP可以用来做什么&#xff0c;首先我们要知道它…...

Python开发——工具篇 Pycharm的相关配置,Python相关操作 持续更新

前言 本篇博客是python开发的工具篇相关&#xff0c;介绍pycharm的使用和相关配置&#xff0c;收录python的相关操作&#xff0c;比如如何启动jupyter。 目录 前言引出Pycharmpycharm如何不同等级日志显示不同颜色设置不同pycharm的python环境 Python操作如何启动Jupyter 总结…...

【深度学习】卷积神经网络结构组成与解释

卷积神经网络是以卷积层为主的深度网路结构&#xff0c;网络结构包括有卷积层、激活层、BN层、池化层、FC层、损失层等。卷积操作是对图像和滤波矩阵做内积&#xff08;元素相乘再求和&#xff09;的操作。 1. 卷积层 常见的卷积操作如下&#xff1a; 卷积操作解释图解标准卷…...

从源码解析Containerd容器启动流程

从源码解析Containerd容器启动流程 本文从源码的角度分析containerd容器启动流程以及相关功能的实现。 本篇containerd版本为v1.7.9。 更多文章访问 https://www.cyisme.top 本文从ctr run命令出发&#xff0c;分析containerd的容器启动流程。 ctr命令 查看文件cmd/ctr/comman…...

引迈-JNPF低代码项目技术栈介绍

从 2014 开始研发低代码前端渲染&#xff0c;到 2018 年开始研发后端低代码数据模型&#xff0c;发布了JNPF开发平台。 谨以此文针对 JNPF-JAVA-Cloud微服务 进行相关技术栈展示&#xff1a; 1. 项目前后端分离 前端采用Vue.js&#xff0c;这是一种流行的前端JavaScript框架&a…...

如何处理枚举类型(下)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 上一篇我们通过编写MyB…...

wsj0数据集原始文件.wv1.wv2转换成wav文件

文章目录 准备一、获取WSJO数据集二、安装sph2pipe三、转换代码四、结果展示 ​ 最近做语音分离实验需要用到wsj0-2mix数据集&#xff0c;但是从李宏毅语音分离教程里面获取的wsj0-2mix只有一部分。从网上获取到了完整的WSJO数据集后&#xff0c;由于原始的语音文件后缀是wv1或…...

Flask Session 登录认证模块

Flask 框架提供了强大的 Session 模块组件&#xff0c;为 Web 应用实现用户注册与登录系统提供了方便的机制。结合 Flask-WTF 表单组件&#xff0c;我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面&#xff0c;使这一功能能够直接应用到我们的项目中。本文将深入探…...

【运维】hive 高可用详解: Hive MetaStore HA、hive server HA原理详解;hive高可用实现

文章目录 一. hive高可用原理说明1. Hive MetaStore HA2. hive server HA 二. hive高可用实现1. 配置2. beeline链接测试3. zookeeper相关操作 一. hive高可用原理说明 1. Hive MetaStore HA Hive元数据存储在MetaStore中&#xff0c;包括表的定义、分区、表的属性等信息。 hi…...

别再肉眼找不同了!3步教你快速对比两个txt/word(即doc、docx)文档的差异

&#x1f680; 欢迎来到我的Office高效办公指南&#xff01;&#x1f4da; 亲爱的访客&#xff0c;你好呀&#xff01;&#x1f44b; 很高兴能在CSDN的海洋里与你相遇&#xff5e; ✨ 无论你是正在摸索Office的「职场萌新」 &#x1f4bc;&#xff0c;还是希望技能更上一层楼的…...

.Acwing基础课第题-简单-区间和纲

在AI辅助开发的语境下&#xff0c;Skill就是一个包含了领域知识、最佳实践、代码模板的知识包。 以"DAO层CRUD生成"为例&#xff0c;一个Skill包含&#xff1a; /mnt/skills/dao-crud/ ├── SKILL.md # 使用说明 │ ├── 何时使用这个Skill │ …...

PHP 8.9原生异步I/O终极调优清单(含12项基准测试指标、9类典型负载适配矩阵)

第一章&#xff1a;PHP 8.9原生异步I/O的核心演进与设计哲学PHP 8.9并未实际发布——截至2024年&#xff0c;PHP官方最新稳定版本为PHP 8.3&#xff0c;且PHP核心开发团队已明确表示**不会在PHP 8.x系列中引入原生异步I/O运行时**。该标题所指的“PHP 8.9”属于虚构版本&#x…...

小团队福音:用两台服务器搞定Redis高可用(Keepalived+互为主从配置)

小团队福音&#xff1a;用两台服务器构建轻量级Redis高可用架构 在初创公司和小型技术团队中&#xff0c;服务器资源往往捉襟见肘。当业务需要Redis作为缓存或数据库时&#xff0c;传统的高可用方案如哨兵模式需要至少三台服务器&#xff0c;这对资源有限的团队来说可能过于奢侈…...

Python AI服务上线倒计时:Cuvil预编译缓存机制如何帮你抢在竞品前24小时完成vLLM兼容升级?

第一章&#xff1a;Cuvil编译器在Python AI推理中的定位与价值Cuvil编译器是一个面向AI推理场景的轻量级、Python原生友好的编译框架&#xff0c;专为优化动态图模型&#xff08;如PyTorch TorchScript子集、ONNX子图及自定义算子图&#xff09;在CPU/GPU边缘设备上的执行效率而…...

从 RPA 到 IPA:AI Agent Harness Engineering 如何彻底取代传统自动化脚本

从 RPA 到 IPA:AI Agent Harness Engineering 如何彻底取代传统自动化脚本 摘要/引言 一、引言(超字数拆分前的整体架构先出,但后面核心章节正文每个会超1万) 想象一个场景:2022年的某一天,你是一家全球快消品牌亚太区电商平台的RPA项目经理。你带领8人团队,花了三个月…...

Type-C接口选6Pin、16Pin还是24Pin?一张图看懂你的电路板该怎么选(附立创EDA元件库)

Type-C接口选型指南&#xff1a;6Pin、16Pin还是24Pin&#xff1f;硬件设计实战解析 Type-C接口的普及让硬件设计变得更加灵活&#xff0c;但面对6Pin、16Pin和24Pin三种常见规格&#xff0c;工程师们常常陷入选择困难。本文将深入剖析这三种接口的核心差异&#xff0c;从功能特…...

PyTorch 3.0静态图≠TensorFlow旧时代:详解torch.compile + DTensor + P2P通信协同优化的4.2倍加速原理

第一章&#xff1a;PyTorch 3.0静态图分布式训练的范式跃迁PyTorch 3.0 引入了原生静态图编译能力&#xff08;TorchDynamo Inductor 后端深度集成&#xff09;&#xff0c;配合 torch.distributed._composable API&#xff0c;首次实现了“声明式分布式策略”与“编译优化”的…...

利率曲线构建终极指南:掌握 tf-quant-finance 中的 Hagan-West 算法和单调凸插值

利率曲线构建终极指南&#xff1a;掌握 tf-quant-finance 中的 Hagan-West 算法和单调凸插值 【免费下载链接】tf-quant-finance High-performance TensorFlow library for quantitative finance. 项目地址: https://gitcode.com/gh_mirrors/tf/tf-quant-finance 在金融…...

nlp_structbert_sentence-similarity_chinese-large部署教程:阿里云PAI-EAS一键部署全流程

nlp_structbert_sentence-similarity_chinese-large部署教程&#xff1a;阿里云PAI-EAS一键部署全流程 1. 工具简介 nlp_structbert_sentence-similarity_chinese-large是一个专门用于中文句子语义相似度计算的强大工具。它基于阿里达摩院开源的StructBERT大规模预训练模型&a…...