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

解决leetcode第3943题递增后的数对数量

3943.递增后的数对数量

难度:困难

问题描述:

给你两个整数数组nums1和nums2,以及一个二维整数数组queries。

每个queries[i]都属于以下两种类型之一:

[1,x,y,val]:将nums2[x..y]中的每个元素都增加val。

[2,tot]:计算满足nums1[j]+nums2[k]==tot的数对(j,k)的数量。

返回一个整数数组answer,其中answer[j]表示第j个类型2查询的数对数量。

示例1:

输入:nums1=[1,2],nums2=[3,4],queries=[[2,5],[1,0,0,2],[2,5]]

输出:[2,1]

解释:

queries[0]=[2,5]:有效数对为nums1[0]+nums2[1]=1+4=5和nums1[1]+nums2[0]=2+3=5。

queries[1]=[1,0,0,2]:将nums2[0]增加2,得到nums2=[5,4]。

queries[2]=[2,5]:有效数对为nums1[0]+nums2[1]=1+4=5。

因此,answer=[2,1]。

示例2:

输入:nums1=[1,1],nums2=[2,2,3],queries=[[2,4],[1,0,1,1],[2,4]]

输出:[2,6]

解释:

queries[0]=[2,4]:有效数对为nums1[0]+nums2[2]=1+3和nums1[1]+nums2[2]=1+3。

queries[1]=[1,0,1,1]:将nums2[0]和nums2[1]各增加1,得到nums2=[3,3,3]。

queries[2]=[2,4]:nums1=[1,1]中的每个元素都可以与nums2=[3,3,3]中的每个元素配对,因为1+3=4,总共有2×3=6个数对。

因此,answer=[2,6]。

示例3:

输入:nums1=[2,5,8,4],nums2=[1,3,8],queries=[[2,9],[1,1,2,1],[2,10]]

输出:[1,0]

解释:

queries[0]=[2,9]:唯一有效数对为nums1[2]+nums2[0]=8+1=9。

queries[1]=[1,1,2,1]:将nums2[1]和nums2[2]各增加1,得到nums2=[1,4,9]。

queries[2]=[2,10]:没有数对的和为10。

因此,answer=[1,0]。

提示:

1<=nums1.length<=5

1<=nums2.length<=5*10**4

1<=nums1[i],nums2[i]<=10**5

1<=queries.length<=5*10**4

queries[i].length==2 or 4

queries[i]==[1,x,y,val],或

queries[i]==[2,tot]

0<=x<=y<nums2.length

1<=val<=10**5

1<=tot<=10**9

问题分析:

对于本题来说,从查询序列中取出每一个查询,按要求进行处理即可。对于第一种类型的查询[1,x,y,val],将nums2[x..y]中的每个元素都增加val,这通过函数increase_the_value_of_each_element_within_the_specified_range_by_val(num2,querie)实现,对于第二种类型的查询[2,tot],计算满足nums1[j]+nums2[k]==tot的数对(j,k)的数量,这通过函数get_ordered_pair_that_meets_the_conditions(num1,num2,tot)实现,在主程序中,只需要依次对查询序列queries中的每个查询,调用相应的处理函数进行处理,最后将数对数量的列表输出即解决了问题。

程序如下:

#计算满足 nums1[j] + nums2[k] == tot 的数对 (j, k)的数量并返回 def get_ordered_pair_that_meets_the_conditions(num1,num2,tot): m=len(num1) n=len(num2) a=[] for i in range(m): for j in range(n): if num1[i]+num2[j]==tot: a.append([i,j]) return len(a) #将nums2[x..y] 中的每个元素都增加val def increase_the_value_of_each_element_within_the_specified_range_by_val(num2,querie): n=len(num2) x=querie[1] y=querie[2] val=querie[3] for i in range(x,y+1): num2[i]=num2[i]+val return num2 #主程序 num1=eval(input("enter the first num1=")) num2=eval(input("enter the second num2=")) queries=eval(input("enter the second queries=")) a=[] for i in queries: b=i[0] if b==1: num2=increase_the_value_of_each_element_within_the_specified_range_by_val(num2,i) else: c=get_ordered_pair_that_meets_the_conditions(num1,num2,i[1]) a.append(c) print(a)

运行实例一

enter the first num1=[1,2,3,4]

enter the second num2=[2,3,2,2]

enter the second queries=[[1,0,2,2],[2,5],[1,2,3,1],[2,6]]

[3, 4]

运行实例二

enter the first num1=[1,1,2,2,3]

enter the second num2=[2,2,3,2,2]

enter the second queries=[[2,5],[1,1,3,1],[2,7]]

[6, 1]

http://www.jsqmd.com/news/887483/

相关文章:

  • catkin workspace 详解
  • 2026年当下,山东工厂取暖设备选型指南:聚焦能效与长期价值 - 2026年企业推荐榜
  • Cadence OrCAD SPB17.4 出网表遇到 ORCAP-36038 警告?别慌,手把手教你排查和修复‘No_connect’属性问题
  • 别再手动点仿真了!用Simulink Test Manager实现模型自动化测试(附Excel数据驱动模板)
  • 高通Android 12/13 OTA升级失败?别慌,手把手教你用ADB命令定位并修复(附错误码详解)
  • 2026年5月探寻温州紧固件实力厂家:与联系方式的深度解析 - 2026年企业推荐榜
  • 清华大学学位论文LaTeX排版终极指南:3步快速生成标准格式
  • 大麦网自动化购票解决方案:技术实现与优化指南
  • 2026年不锈钢水箱供应商TOP5盘点:不锈钢肋板水箱/卧式水箱/立式圆形水箱/不锈钢保温水箱/不锈钢冲压板/不锈钢冷却塔/选择指南 - 优质品牌商家
  • 2026年水利液压坝实测评测:液压抓斗清污机/移动式清污机/耙斗式清污机/钢坝闸门/启闭机闸门/回转式格栅清污机/选择指南 - 优质品牌商家
  • 【Android】AI视频剪辑-Ai剪辑视频 免费无广告
  • 海口二手音响选购技术指南:海口特美声音响、海口舞台音响、海口贝德音响、海口进口音响、海口酒吧音响、海口金声音响选择指南 - 优质品牌商家
  • PCB电路板加工秘诀
  • MediaCreationTool.bat技术指南:如何构建企业级Windows部署自动化系统
  • 告别路径盲打!VSCode + TypeScript项目配置Path Intellisense与tsconfig.json的完整指南
  • 口碑好的本地发电机公司推荐,大型柴油发电机租赁/变压器出租租赁/应急发电机/ups不间断电源,本地发电机厂家哪家专业 - 品牌推荐师
  • 2026年至今,探寻温州幼儿园专业机构的成长之路与优质选择 - 2026年企业推荐榜
  • 随机思考漫谈问答
  • 告别龟速下载!pan-baidu-download让你的百度网盘文件下载速度飙升
  • 项目落地低效内卷?低代码打破开发成本与周期枷锁
  • 2026钢坝闸门实测评测:水利清污机、水电站清污机、河道液压钢坝、河道清污机、液压抓斗清污机、移动式清污机、耙斗式清污机选择指南 - 优质品牌商家
  • 从毫米波雷达误判案例出发:用Simulink Test Harness为你的算法模型上一道“保险”
  • 2026年5月昆明钩臂垃圾箱定做厂家专业度深度解析与选型指南 - 2026年企业推荐榜
  • 51单片机驱动ST7735S彩屏避坑指南:从5秒刷屏到流畅贪吃蛇的优化实战
  • 精密零件水切割加工实测评测:水射流加工/泡沫板水切割加工/深圳水切割加工厂/瓷砖水切割加工/石材水切割加工/硅胶水切割加工/选择指南 - 优质品牌商家
  • 2026年国内硅PU场地服务商TOP5实力全景盘点:硅pu施工、硅pu篮球场地、羽毛球硅pu场地、河北EPDM颗粒选择指南 - 优质品牌商家
  • 实测Taotoken聚合端点在高峰期的响应延迟与稳定性表现
  • 从入门到上岗,Java+AI 复合型人才养成攻略
  • 路由缓存问题的解决办法
  • 2026年Q2河北核心全塑型塑胶跑道品牌实测排行:河北田径场跑道、河北透气性塑胶跑道、河北预制型塑胶跑道、硅pu场地翻新选择指南 - 优质品牌商家