LeetCode题目笔记——6362. 合并两个二维数组 - 求和法
文章目录
- 题目描述
- 题目链接
- 题目难度——简单
- 方法一:常规双指针遍历
- 代码/Python
- 方法二:字典\哈希表
- 代码/Python
- 总结
题目描述
给你两个 二维 整数数组 nums1 和 nums2.
- nums1[i] = [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。
- nums2[i] = [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。
每个数组都包含 互不相同 的 id ,并按 id 以 递增 顺序排列。
请你将两个数组合并为一个按 id 以递增顺序排列的数组,并符合下述条件:
- 只有在两个数组中至少出现过一次的 id 才能包含在结果数组内。
- 每个 id 在结果数组中 只能出现一次 ,并且其对应的值等于两个数组中该 id 所对应的值求和。如果某个数组中不存在该 id ,则认为其对应的值等于 0 。
返回结果数组。返回的数组需要按 id 以递增顺序排列。
示例 1:
输入:nums1 = [[1,2],[2,3],[4,5]], nums2 = [[1,4],[3,2],[4,1]]
输出:[[1,6],[2,3],[3,2],[4,6]]
解释:结果数组中包含以下元素:
- id = 1 ,对应的值等于 2 + 4 = 6 。
- id = 2 ,对应的值等于 3 。
- id = 3 ,对应的值等于 2 。
- id = 4 ,对应的值等于5 + 1 = 6 。
示例 2:
输入:nums1 = [[2,4],[3,6],[5,5]], nums2 = [[1,3],[4,3]]
输出:[[1,3],[2,4],[3,6],[4,3],[5,5]]
解释:不存在共同 id ,在结果数组中只需要包含每个 id 和其对应的值。
提示:
- 1 <= nums1.length, nums2.length <= 200
- nums1[i].length == nums2[j].length == 2
- 1 <= idi, vali <= 1000
- 数组中的 id 互不相同
- 数据均按 id 以严格递增顺序排列
题目链接
题目难度——简单
方法一:常规双指针遍历
题目给的数据已经是有序的,那么我们可以用两个指针分别遍历这两个数组,同时保证结果有序,加入结果数组中,只不过这样略显麻烦。
代码/Python
class Solution:def mergeArrays(self, nums1: List[List[int]], nums2: List[List[int]]) -> List[List[int]]:p1, p2 = 0, 0n1 = len(nums1)n2 = len(nums2)res = []while p1 < n1 and p2 < n2:if nums1[p1][0] == nums2[p2][0]:res.append([nums1[p1][0], nums1[p1][1] + nums2[p2][1]])p1 += 1p2 += 1elif nums1[p1][0] < nums2[p2][0]:res.append(nums1[p1])p1 += 1else:res.append(nums2[p2])p2 += 1while p1 < n1:res.append(nums1[p1])p1 += 1while p2 < n2:res.append(nums2[p2])p2 += 1sorted(res)return res

方法二:字典\哈希表
题目说的请款完全符合一个字典的情况,所以我们可以用一个字典来存储两个数组中每个数及其对应值。
代码/Python
class Solution:def mergeArrays(self, nums1: List[List[int]], nums2: List[List[int]]) -> List[List[int]]:table = defaultdict(int)for i, val in nums1 + nums2:table[i] += valreturn sorted([[k, v] for k, v in table.items()])

总结
因为有排序,所以方法一和二的时间复杂度都是O(logN),方法一的空间复杂度O(1), 方法二空间O(N)。
相关文章:
LeetCode题目笔记——6362. 合并两个二维数组 - 求和法
文章目录题目描述题目链接题目难度——简单方法一:常规双指针遍历代码/Python方法二:字典\哈希表代码/Python总结题目描述 给你两个 二维 整数数组 nums1 和 nums2. nums1[i] [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。nums2[i] [idi, …...
【C#基础】C# 常用语句讲解
序号系列文章3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结文章目录前言语句概念1,迭代语句1.1 for 语句1.2 foreach 语句1.3 while 语句1.4 do 语句2,选择语句2.1,if 语句2.2,else 语句2.3…...
腾讯云——负载均衡CLB
负载均衡 CLB 提供四层(TCP 协议/UDP 协议/TCP SSL 协议)和七层(HTTP 协议/HTTPS 协议)负载均衡。您可以通过 CLB 将业务流量分发到多个后端服务器上,消除单点故障并保障业务可用性。CLB 自身采用集群部署,…...
6.关于系统服务的思考—— native vs java
文章目录native服务 以sensor service为例Native 服务java 服务, 以vibrate为例java 服务 以一个demo为例native服务 以sensor service为例 service启动 SystemServer.startBootstrapServices---->>>mSystemServiceManager.startService—>>>Sen…...
SQL语句创建视图:
前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍数据库中有关视图的知识,参考学校作业. 金句分享:…...
使用BP神经网络和Elman Net预测航班价格(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
JavaWeb9-volatile解决内存可见性和指令重排序问题
目录 1.解决内存可见性问题 2.解决指令重排序问题 3.volatile缺点 4.特使使用场景 volatile(易变的,易挥发的,不稳定的)可以解决内存可见性和指令重排序的问题。 1.解决内存可见性问题 代码在写入 volatile 修饰的变量时&am…...
Docker - 镜像操作命令
镜像名称一般分为两部分组成:[repository]:[tag]在没有指定tag时,默认是latest,代表最新版本的镜像1.下载docker镜像 docker pull repository:tag2.查看本地所有镜像 docker images3.创建镜像别名 docker tag repository:tag repository111:tag4.查看镜像…...
全栈之路-前端篇 | 第三讲.基础前置知识【前端标准与研发工具】学习笔记
欢迎关注「全栈工程师修炼指南」公众号 点击 👇 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! 涉及 企业运维、网络安全、应用开发、物联网、人工智能、大数据 学习知识 “ 花开堪折直须折,莫待无花…...
Tomcat 线上调优记录
原始Tomcat配置 启动参数Plaintext-Xms256m -Xmx512m -XX:MaxPermSize128m Tomcat 参数配置XML<Executor name"tomcatThreadPool" namePrefix"catalina-exec-" maxThreads"1500" minSpareThreads"50" maxIdleTime"600000&q…...
学习 Python 之 Pygame 开发坦克大战(四)
学习 Python 之 Pygame 开发坦克大战(四)坦克大战添加音效1. 初始化音效2. 加入游戏开始音效和坦克移动音效3. 添加坦克开火音效4. 添加装甲削减音效5. 添加坦克爆炸音效6. 添加子弹击中边界音效坦克大战添加音效 我的素材放到了百度网盘里,…...
New和Malloc的使用及其差异
1,new的使用关于new的定义:new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该…...
2023年细胞生物学复习汇总
细胞分化 1.什么是细胞分化?细胞分化的特点是什么? 答:(1)细胞分化(cell differentiation)是指同一来源的细胞逐渐产生出形态结构、功能特征各不相同的细胞类群的过程,其结果是在空间…...
光伏VSG-基于虚拟同步发电机的光伏并网逆变器系统MATLAB仿真
采用MATLAB2021b仿真!!!仿真模型1光伏电池模块(采用MATLAB自带光伏模块)、MPPT控制模块、升压模块、VSG控制模块、电流滞环控制模块。2s时改变光照强度 !!!VSG输出有功功率、无功功率…...
高可用 - 02 Keepalived_VRRP工作原理
文章目录Keepalived VS HeartbeatKeepalived的用途VRRP与工作原理物理路由器和虚拟路由器Keepalived VS Heartbeat Keepalived是Linux下一个轻量级的高可用解决方案,它与Heartbeat、RoseHA实现的功能类似,都可以实现服务或者网络的高可用,但…...
vue实现xml在线编辑功能
先看效果 避免误会 这是一个在线编辑器 我们可以在这上面随意的编写xml代码格式 我们修改上面的内容之后 就可以在控制台输出内容 如果这正是您想要的东西 那就可以先创建一个vue项目 我们先引入依赖 npm install brace -S npm install element-ui -S npm install vue-cli…...
GitHub Workflow
GitHub Workflow 基本流程 把远程仓库克隆到本地 git clone xxxx.git在本地切换至新的分支 git checkout -b new_branch修改本地仓库的文件 项目修改完成后,查看修改的内容 git diff上传修改之后的内容到本地暂存区 git add modified_files将本地暂存区的代码更新…...
vue学习
vue 其实你只要安装一个vue-cli 就可以了 vue-cli 你可以用比较高的版本 这 当然是 可以滴...
Windows使用ssh协议远程连接ubuntu linux系统
Windows使用ssh协议远程连接ubuntu linux系统一、Windows远程连接ubuntu linux系统二、开启ubuntu ssh服务三、获取ubuntu子系统的ip地址四、从windows上通过ssh连接到ubuntu子系统五、设置ubuntu系统ssh自启动(18.04)一、Windows远程连接ubuntu linux系…...
大数据处理 - Overview
本文主要介绍大数据处理的一些思路。何谓海量数据处理?所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次…...
华为防火墙IPsec点对点配置实战:从零到通的完整流程(附常见错误排查)
华为防火墙IPsec点对点配置实战:从零到通的完整流程(附常见错误排查) 在当今企业网络架构中,跨地域分支机构之间的安全通信已成为刚需。IPsec VPN凭借其强大的加密能力和标准化协议支持,成为构建安全通道的首选方案。华…...
一次企业知识库同步系统改造复盘:从全量拉取到增量消息的演进与多级缓存一致性保障
2026 年 4 月 6 日凌晨 3:17,我们收到一条告警:知识库同步服务 CPU 飙升至 98%,同步任务积压超过 12 万条,下游 AI 助手响应延迟突破 8 秒。这不是第一次了——过去三个月,每逢周一早高峰或知识库批量更新后࿰…...
江淮汽车年营收465亿:净亏17亿 刚定增募资35亿
雷递网 雷建平 4月5日安徽江淮汽车集团股份有限公司(公司代码:600418,公司简称:江淮汽车)日前发布截至2025年12月31日的财报。财报显示,江淮汽车2025年营收为464.76亿,较上年同期的421.16亿元增…...
避坑指南:uniapp小程序自定义tabbar闪屏问题终极解决方案(含page.json配置)
避坑指南:uniapp小程序自定义tabbar闪屏问题终极解决方案(含page.json配置) 第一次在uniapp里尝试自定义tabbar时,那个刺眼的闪屏效果简直让人崩溃——页面切换时像老式电视机换台一样闪烁,用户体验直接跌到谷底。这问…...
3步驯服锐龙:RyzenAdj性能调校实战指南
3步驯服锐龙:RyzenAdj性能调校实战指南 【免费下载链接】RyzenAdj Adjust power management settings for Ryzen APUs 项目地址: https://gitcode.com/gh_mirrors/ry/RyzenAdj 问题诊断:你的锐龙处理器是否被"封印"? 场景一…...
【案例共创】码道小工匠,儿童跳绳智能计数系统开发实战
最新案例动态,请查阅【案例共创】码道小工匠,儿童跳绳智能计数系统开发实战小伙伴们快来进行实操吧! 本案例由开发者:yd_sun提供,华为开发者空间案例中心优化并收录。 一、概述 1.1 适用对象 个人开发者高校学生企…...
RMBG-2.0(BiRefNet)开源抠图工具落地实操:Streamlit双列界面零门槛上手
RMBG-2.0(BiRefNet)开源抠图工具落地实操:Streamlit双列界面零门槛上手 想给产品换个背景,却不会用复杂的PS?想快速处理一批图片素材,又担心在线工具泄露隐私?今天,我们就来聊聊一个…...
intv_ai_mk11开发者友好:提供RESTful API文档、Curl示例、SDK接入指引
intv_ai_mk11开发者友好:提供RESTful API文档、Curl示例、SDK接入指引 1. 平台概述 intv_ai_mk11是基于Llama架构的中等规模文本生成模型,专为开发者设计,提供完整的API接入方案。该模型擅长处理通用问答、文本改写、解释说明和简短创作等任…...
TensorRT-LLM与Triton Server部署实战:从环境配置到模型推理
1. 环境准备:从零搭建TensorRT-LLM与Triton Server基础环境 第一次接触TensorRT-LLM和Triton Server时,我花了整整三天时间在环境配置上踩坑。现在回想起来,大部分问题都源于对NVIDIA生态工具链的不熟悉。下面我会用最直白的语言,…...
LFM2.5-1.2B-Thinking-GGUF效果展示:多语言混合prompt响应能力实测
LFM2.5-1.2B-Thinking-GGUF效果展示:多语言混合prompt响应能力实测 1. 模型核心能力概览 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,专为低资源环境优化设计。这个1.2B参数的模型采用GGUF格式,通过llama.cpp运行时实现高…...
