首页 > 其他分享 >一种很新的 map

一种很新的 map

时间:2024-10-18 16:32:48浏览次数:7  
标签:map ++ sum 一种 lst unordered first

众所周知,map 很慢,有时候会超时,所以我想到了这种比 map 快但又能实现 map 功能的 map

因为 unordered_mapmap 快很多,又能实现 map 的大多数功能,所以我们使用 unordered_map 代替 map

unordered_map 是 unordered 的,所以在遍历时无法有序地输出,如下:

for(unordered_map<int,int>::iterator it=mp.begin();it!=mp.end();it++){
	if(sum!=0){
		a[++tot]={lst,it->first-1,sum};
	}
	sum+=it->second;
	lst=it->first;
}

对于普通的 map,遍历是有序的,可对于 unordered_map 却不是这样。

所以对于 unordered_map,我们这样操作:

pair<int,int>t[200010];
for(auto it=mp.begin();it!=mp.end();it++){
	t[++cnt]={it->first,it->second};
}
stable_sort(t+1,t+cnt+1);
for(int i=1;i<=cnt;i++){
	pair<int,int>* it=&t[i];
	if(sum!=0){
		a[++tot]={lst,it->first-1,sum};
	}
	sum+=it->second;
	lst=it->first;
}

标签:map,++,sum,一种,lst,unordered,first
From: https://www.cnblogs.com/UserJCY/p/18474567/algorithm_datastruct_map

相关文章

  • Mappest操作
    1publicstaticclassMappTest2{3publicstaticvoidRun()4{5varconfig=newTypeAdapterConfig();6//只要配置需要处理的类,并支持多个属性操作7config.ForType<MiddleClass,MiddleClass2>()8.Map(des......
  • 基因组质量评估mapping法
    将测序后的reads与组装好的基因组做alignment(校准),这个过程就被叫做mapping。Mapping之后生成的SAM/BAM文件,可以获取readsmapping回参考基因组的信息(比如mappingrate,coverage,depth),从而评估基因组组装的质量。1.Mapping工具readsmappingtoolsIlluminaDNA-seqreadsB......
  • 大厂面试真题-说说jdk1.7和1.8的hashmap的区别以及各自的问题
    JDK1.7和JDK1.8中的HashMap存在显著的区别,并且各自存在一些问题。以下是对两者的详细对比及问题分析:一、区别底层数据结构:JDK1.7:HashMap的底层结构是由数组(也被称为“位桶”)和链表构成。当hash冲突时,不同的key映射到数组的同一位置,则形成链表。JDK1.8:HashMap的底层结构......
  • java_day14_HashSet、TreeSet、增强for循环、Map、HashMap、TreeMap、可变参数
    一、HashSetSet:HashSet:底层数据结构是哈希表,查找速度快,且元素唯一HashSet中的add方法实际上调用的是HashMap中的put方法底层和元素的hashCode方法值有关我们发现,底层判断待插入的元素是否已经存在哈希表中的方式是:将待插入的元素的哈希值与已经存......
  • 使用Tftpd32工具数据互传是一种什么体验?SSD201/202D开发板演示,深圳触觉智能嵌入式方
    本文介绍了Tftpd32工具的使用方法,在我们使用开发板过程中常常需要将电脑与开发板文件相互传输,在有网络(电脑和开发板要在同一个网段)的时候就可以通过Tftpd32工具进行文件传输。本次使用的是触觉智能的PurplePiR1双网口开发板演示,搭载了SigmaStarSSD201/SSD202D芯片,类树莓派设计,......
  • ton tact合约中的map采用go的调用方式
    tact中的map结构:structRoundInfo{//Purchaserecordsquotient:map<Intasuint32,BuyInfo>;//keyissequencenumber//Orderanti-duplicationrecords,keyisordernumber,valueissequencenumberorders:map<Intasuint32,Intasuint16......
  • 在盲解卷中,解卷积时滤波器系数翻转,平移与信号相乘再相加。另一种是信号翻转,平移与滤波
    在盲解卷积中,有两种基本的方法来处理信号和滤波器系数:一种是将滤波器系数翻转、平移与信号相乘再相加,另一种是将信号翻转、平移与滤波器系数相乘再相加。这两种方法的区别主要在于处理信号和滤波器的顺序,以及它们对最终结果的影响。1.**滤波器系数翻转(FilterCoefficientFli......
  • 算法(第4版)练习题 3.3.20 的一种解法
    本文给出了对于《算法(第4版)》(以下简称原书或书)中的练习题3.3.20的一种解法。◆要求原书中的练习题3.3.20要求计算一棵大小为N且完美平衡的二叉查找树的内部路径长度,其中N为2的幂减1。◆解答N为2的幂减1的一颗完美平衡的二叉查找树是一棵满二叉树。在这样的......
  • weakmap、weakset、内存泄漏
    weakmap、weakset都是ES6的新增的数据结构WeakMapWeakMap对象是键值对的集合,提供了一种键值对的存储机制。它的键必须是对象类型,值可以是任意类型。它的键被弱保持,也就是说,当其键所指对象没有其他地方引用的时候,它会被GC回收掉。WeakMap提供的接口与Map相同。与Map......
  • nmap扫描
    nmap常用参数参数意义-sPping扫描(不扫描端口)-p-ping扫描(扫描端口)-p(-p80-p80,3389-p1-65535)指定端口扫描-O目标主机系统版本-sV显示服务的详细版本-A全面扫描-oN将扫描的结果保存成txt格式nmap-A-p-192.168.1.1-oN/tmp/info.txt-o......