区间交集问题
差分:https://blog.csdn.net/weixin_54442315/article/details/122663584
arr 1 4 7 12
map 1 3 3 5
map为差分数组,当arr区间更新时,可以仅更新map的区间端点
借助Map 得到arr的元素|前n项和
问题:https://www.acwing.com/problem/content/1954/
function get(ar,x,y,z){ let n =ar.length; let map =new Map(); // 差分数组 for(let i =0;i<n;i++){ // map[0]+=x; map.set(0,map.get(0)==undefined?x:map.get(0)+x); // map[ar[i][0]]+=(-x+y); map.set(ar[i][0],map.get(ar[i][0])==undefined?(-x+y):map.get(ar[i][0])+(-x+y)); // map[ar[i][1]]+=(-y+z); map.set(ar[i][1]+1,map.get(ar[i][1]+1)==undefined?(-y+z):map.get(ar[i][1]+1)+(-y+z)); } // 需要借助前缀和计算每个温度对应的结果,所以需要map的key从小到大排序 // 但是js中map的key 不会自动排序 (排序) c++可以的 let arp =[...map]; arp.sort((o1,o2)=>{ return o1[0]-o2[0]; }); map = new Map(arp); let sum =0,maxx =0; for(let key of map.keys()){ sum+=map.get(key); maxx = Math.max(sum,maxx); } return maxx; } let ar =[[5,8],[3,4],[13,20],[7,10]]; console.log(get(ar,7,9,6));
n个区间,代表不同烟花的开始和结束时刻
在某个时刻可以最多看到几个烟花,这种时刻有几个??
[2,6]
[3,7]
[9,10]
在时刻 3 可以看到2个烟花
这样的时刻有 3 4 5 6 ,共4个
function get(ar){ let n =ar.length; let map =new Map(); for(let i =0;i<n;i++){ map.set(ar[i][0],map.get(ar[i][0])==undefined?1:map.get(ar[i][0])+1); map.set(ar[i][1]+1,map.get(ar[i][1]+1)==undefined?-1:map.get(ar[i][1]+1)-1); } let arp = [...map]; arp.sort((o1,o2)=>{ return o1[0]-o2[0]; }) map = new Map(arp); let cnt =0; let maxx =0; let ars =[]; for(let key of map.keys()){ cnt+=map.get(key); ars.push([key,cnt]) maxx =Math.max(cnt,maxx); } let sum =0; for(let i=0;i<ars.length;i++){ if(ars[i][1]===maxx){ sum+=(ars[i+1][0]-ars[i][0]); } } return maxx+" "+sum; } console.log(get([[2,6],[3,7],[9,10]]));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2022-03-12 java 内存模型
2022-03-12 CPU 缓存模型
2020-03-12 semi-supervised 半监督
2019-03-12 2018年湘潭大学程序设计竞赛 F maze
2019-03-12 queue