请帮忙设计一个高效的HashMap嵌套算法

原始map: 包含key不同,但是value相同的条目

 {6637396=A1_001,6601506=A1_001,6655322=A1_002}.....

要求重组新的map>, 新map的key是随机生成的UUID,value是原始map中value相同的条目组装成的新的map,结果输出如:

 {uuid1={6637396=A1_001,6601506=A1_001},uuid2={6655322=A1_002}}...

尽量避免多次循环遍历,要考虑大数据量的情况下效率问题。请使用JDK7, 谢谢

0
扫码支付0.1元 ×
其他相关推荐
如何自己设计一个高效类似于HashMap的容器
每一个找工作的人,对于Java collections的问题都会很熟悉,JDK 的java.util这个工具类中有各种容器的设计与实现。Hashmap是对map接口的一种实现,是一种使用很频繁的容器。 1.HashMap与Hashtable   相比较于Hashtable,HashMap非线程安全,每一个定义的方法都没有进行锁定,所以多线程情况下会高效但是会出现数据不同步问题,而hashtab
PTA 求链式线性表的倒数第K项 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1 输出样例:7 #include<iostream> #incl...
浙大PAT 3-05. 求链式线性表的倒数第K项 (解题思路)
3-05. 求链式线性表的倒数第K项 时间限制 250 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式说明: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负
请设计时间和空间上都尽可能高效的算法,求链式存储的线性表的倒数第m个元素
#include using namespace std; typedef struct PolyNode * Polynomial; struct PolyNode { int Data; Polynomial link; }; void Attach(int data, Polynomial * PtrRear) { Polynomial P= new struct PolyNode;
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符
题目描述对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:"qywyer23tdd",11返回:ypackage com.cn.yqjr; import java.util.ArrayList; import java.util.List; pu...
题目7  设计高效率算法,查找倒数第K个元素,打印
设计高效率算法,查找倒数第K个元素,打印 思想:指针等距离同步移动,采用一遍遍历就完成(而不需要先判断长度,再计数) void getlast_kValue(Node* n, int k){ Node* p, *q; p=q=n; int count=0; while(p->next!=NULL){ count++; if(count>=k){ q=q-...
7-4 求链式线性表的倒数第K项(20 分)
7-4 求链式线性表的倒数第K项(20 分) 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理) 输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。 输入样例: 4 1 2 3 4 5 6 7 8 ...
PAT 3-05 求链式线性表的倒数第K项(C语言实现)
题目描述: 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式说明: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式说明: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息“NULL”。 样例输入与输出: 序号 输入
7-1 求链式线性表的倒数第K项(20 分)
7-1 求链式线性表的倒数第K项(20 分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7最近在学STL ,挺...
求一段输入字符的倒数第K个元素
如题利用指针实现输出字符串的倒数第K个节点字母
如何设计一个高效算法,找到第一次重复出现的字符?
看到这个题目, 然后发现里面一个算法, 颇耐人寻味, 然后就记载下来了。 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 测试样例: "qywyer23tdd" 返回:y private static String findFirstRepeatChar(String string) { int[] charse...
PTA5-19 求链式线性表的倒数第K项
5-19 求链式线性表的倒数第K项   (20分) 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。 输入样例: 4 1 2 3 4 5 6
集合框架-集合的嵌套遍历(HashMap嵌套ArrayList)
b:HashMap嵌套ArrayList package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* *需求: *假设HashMap集合的元素是ArrayList。有3个。 *每一个ArrayList集合的值是字符串。 *元素我已经完成,请
求链表的倒数第m个元素
习题3.5 求链表的倒数第m个元素   (20分) 请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0>0)个元素。 函数接口定义: ElementType Find( List L, int m ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node {
对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
给定字符串A以及它的长度n,请返回最长回文子串的长度。  测试样例: "abc1234321ab",12  返回:7
请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素
给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素。 实现这个算法,并为可能出现的特例情况安排好处理措施。 倒数第m个元素”是这样规定的:当m=0时,链表的最后一个元素将被返回:
HashMap嵌套HashMap嵌套HashMap(三层嵌套)
HashMap嵌套HashMap嵌套HashMap(三层嵌套)
6-2 求链表的倒数第m个元素
6-2 求链表的倒数第m个元素 (20 分) 请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素。 函数接口定义: ElementType Find( List L, int m ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType ...
给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素。实现这个算法,并为可能出现的特例情况安排好处理措施。“倒数第m个元素”是这样规定的:当m=0时,链表的
给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素。实现这个算法,并为可能出现的特例情况安排好处理措施。“倒数第m个元素”是这样规定的:当m=0时,链表的最后一个元素将被返回: #include #include #include struct listElementType {     int data;     listEl
浙大版《数据结构》习题3.5 求链表的倒数第m个元素(20 分)
题目:https://pintia.cn/problem-sets/434/problems/966235055998885888 请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素。 函数接口定义: ElementType Find( List L, int m ); 其中List结构定义如下: typedef stru...
HashMap的设计与实现
一.Map   Java集合中,List和set存储的都是单个值,而Map中存储的却是key-value对。  实现Map接口的类可以分为两种:基于Hash表的和基于RB-Tree的。      基于Hash表的主要是HashMap,该类具有Hash表的一些特点   1)集合中元素是无序的   2)操作时间复杂度为O(1)   3)可能要考虑hash冲突、hash表扩容的情况   4
算法熟记-并查集
转载地址:http://www.cnblogs.com/pangxiaodong/archive/2011/05/27/2059547.html 算法熟记-并查集 1. 简述     并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。     需要实现的操作有:合并两个集合
【常用算法思路分析系列】链表相关高频题集
本文是【常用算法思路分析系列】的第四篇,总结链表相关的高频题目和解题思路。本文分析如下几个问题:1、环形链表的差值问题;2、只能访问单个结点的删除问题;3、链表的分化;4、打印两个链表的公共部分;5、把链表的每k个结点逆序;6、删除链表中指定结点;7、判断链表是否为回文结构;8、复杂链表的复制;9、判断链表是否有环;10、判断两个无环链表是否相交;11、判断两个有环链表是否相交;12、判断两个链表
链表算法题目汇总
1.一直一个带有表头结点的单链表,结点结构为: data link 假设该链表只给出了头指针list,在不改变链表前提下,请设计一个尽可能高效的算法,查找链表中导数第K个位置上的结点(K为正整数)。若查找成功,算法输出为该节点的data域的值,并返回1,;否则,只返回0.要求: 描述算法的基本设计思想;描述算法的详细实现步骤;根据设计思想和实现步骤,采用程序
找到链表的倒数第m个元素
设计一个算法,找到链表的倒数第m个元素,假设最后一个元素为倒数第0个。算法的复杂度为n。 方法一:遍历链表,得到链表的长度,再找到链表的第n-m个元素即可(如果链表的长度知道就直接找第n-m个元素)。 方法二:双指针查找。用两个指针p1、p2,开始都指向头节点。p1先移动,当p1和p2的距离为m时,两个指针一起移动,当p1移动到尾节点时,此时p2指向的节点就是要找的节点。 具体代码: #i
数据结构:有人设计以下算法用于删除整数顺序表L中所有值在[x,y]范围内的元素,该算法显然不是高效的,请设计一个同样功能的高效算法。
(题目的算法略) #include #include #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize]; //存放顺序表元素 int length; //存放顺序表的长度 } SqList; //顺序表的类型 void CreateList(Sq
定制化高效使用Map的一些经验技巧
文章出处 http://wenshao.iteye.com/blog/886621 Map是一种非常用的数据结构,在一些底层框架或者效率十分关键的地方也是十分常用的。我写这篇文章的意图就是把我关于高效使用map的一些经验技巧写下来,当然其中我的一些观点可能不对,如果有朋友发现有错误的地方,欢迎指正。  在Java中Map是什么呢?先说HashMap,java.util.HashMap
HashMap的遍历效率讨论经常遇到对HashMap中的key和value值对的遍历操作,有如下两种方法:
HashMap的遍历效率讨论 经常遇到对HashMap中的key和value值对的遍历操作,有如下两种方法: Map paraMap = new HashMap(); ................ //第一个循环 Set appFieldDefIds = paraMap.keySet(); for (String appFieldDefId : appFieldDefIds)
java 高效的hashmap遍历方法
Hashmap的遍历,key和value通常的方法有两种,及使用entryset或者keyset遍历,但是两种方法在效率上是有区别的,entryset效率更高,推荐使用。
集合框架_HashMap集合嵌套HashMap集合的案例
package cn.itcast_05; import java.util.HashMap; import java.util.Set; /* * HashMap嵌套HashMap * * 培训学院 * jc 基础班 * 陈国栋 20 * 高明 22 * jy 就业班 * 李连杰 21 * 曹查理 23 * 先存储元素,然后遍历
Android开发中高效的数据结构用SparseArray代替HashMap
Android开发中高效的数据结构 android开发中,在java2ee或者android中常用的数据结构有Map,List,Set,但android作为移动平台,有些api(很多都是效率问题)显然不够理想,本着造更好轮子的精神,android团队编写了自己的api用来代替java api 1、SimpleArrayMap与ArrayMap 实质上ArrayMap继承自SimpleArra
有序矩阵查找 -- 算法小结
现在有一个行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。所有矩阵中数字及x均为int范围内整数。保证n和m均小于等于1000。测试样例: [[1,2,3],[4,5,6],[7,8,9]],3,3,10 返回:falseimport java.util.*;publ
请人帮忙英语
Exercise2: 一、请求别人帮忙的句子 1、I’m sorry to bother you, but can you help me? 很抱歉打扰你,能帮我一下吗? 2、I’m afraid it was a bother for you to do this. 恐怕这件事要麻烦您了。 3、I wonder if you could help me with this. 不知道能否请您帮我一...
十分钟探讨map与hashmap的排序
今天遇到一个关于map排序的问题,做个笔记(^__^) 嘻嘻…… 既然遇到了,就不如挖它祖坟看一看里面的究竟,说不定找到价值连城的古董或者什么的,也说不准,下面,一起去看个究竟吧^_^ 老规矩,先上代码,有代码有真相,如下所示: /** * * Created by zero on 2016-6-11 * */ public class HashMapSort { pu
设计一个算法,从顺序表中删除所有值为x的元素
public static void main(String[] args) { // TODO Auto-generated method stub int[] a = {1,2,4,78,0,45,0,0,0,89}; int i = 0; while(i { i++; } for(int j = i+1;j { if(a[j]!=0) { a[i] = a[j];
集合框架-集合的嵌套遍历(ArrayList嵌套HashMap)
c:ArrayList嵌套HashMap package cn.itcast_05; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* ArrayList集合嵌套HashMap集合并遍历。 需求: 假设ArrayList集合的元素是HashMap。有3个。 每一个HashM
(算法)C语言实现查找一个序列的主元素
问题描述 已知一个整数序列A=(a0,a1,…,an-1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。 假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算...
如何保证集合是线程安全的? ConcurrentHashMap 如何实现高效
  Java 提供了不同层面的线程安全支持。在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可 以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.synchronizedMap),但是它们都是利用非常粗粒度的同步方式, 在高并发情况下,性能比较低下。 另外,...
DS-008 顺序表-寻找主元素
题目:已知一个整数序列A=(a0,a1,…,an-1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。 假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法...
设计删除顺序表中【x,y】中的所有元素算法
线性表L采用顺序存储结构,删除元素在[x,y]之间的所有元素。 代码如下: #include #include using namespace std; #define MaxSize 10 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int length; }SqList; void In
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 围棋赛事请一个人工智能费用 设计一个物联网系统课程