关注
我这个真的是全手工定制map啊,过了50%,数组越界还是超时给忘记了,太难了 package 笔试.搜狗;
import java.util.*;
class map {
public ArrayList<HashMap<String, Integer>> list = new ArrayList<>();
public ArrayList<HashMap<String, Integer>> taotaiList = new ArrayList<>();
int size;
public map(int n) {
size = n;
}
public void insert(String key, Integer value) {
if (isHave(key) != null) {
//存在
HashMap<String, Integer> have = isHave(key);
if (have.get(key) < value) {
//需要更新,删除以前,插入新的
//删除
deleteMap(key);
have.put(key, value);
list.add(have);
}
} else {
//不存在
HashMap<String, Integer> newMap = new HashMap<>();
newMap.put(key, value);
if (list.size() < size) {
//list大小满足,直接保存
list.add(newMap);
} else {
taotaiList.add(list.get(0));
list.remove(0);
insert(key, value);
}
}
}
/**
* 判断是否存在
* 存在返回这个map
* 不存在返回null
*
* @param key
* @return
*/
public HashMap<String, Integer> isHave(String key) {
HashMap<String, Integer> oldMap = null;
for (HashMap<String, Integer> map1 : list) {
if (map1.containsKey(key)) {
oldMap = map1;
}
}
return oldMap;
}
/**
* 删除相同的key之前的数据
*
* @param key
*/
public void deleteMap(String key) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).containsKey(key)) {
list.remove(list.get(i));
}
}
}
}
public class T1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
map map = new map(n);
ArrayList<String> list = new ArrayList<>();
String next = sc.nextLine();
while (sc.hasNextLine()) {
list.add(sc.nextLine());
}
for (String s1 : list) {
map.insert(s1.split(" ")[0], Integer.parseInt(s1.split(" ")[1]));
}
for (int i = 0; i < map.taotaiList.size(); i++) {
Set<String> set = map.taotaiList.get(i).keySet();
for (String s : set) {
System.out.println(s + " " + map.taotaiList.get(i).get(s));
}
}
}
}
查看原帖
点赞 1
相关推荐
07-13 10:24
广州南方学院 运营 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 工作中哪个瞬间让你想离职 #
32118次浏览 238人参与
# 我对___祛魅了 #
2816次浏览 34人参与
# 中兴秋招 #
183148次浏览 2043人参与
# 和同事相处最忌讳的是__ #
2793次浏览 31人参与
# 打工人的精神状态 #
62843次浏览 1049人参与
# 如何快速融入团队? #
1217次浏览 25人参与
# 机械人,你被简历秒挂的企业有哪些? #
45741次浏览 295人参与
# 职场常用语录大全 #
5086次浏览 41人参与
# 机械人,秋招第一次笔试的企业是哪家? #
42162次浏览 335人参与
# 在职场上,你最讨厌什么样的同事 #
17681次浏览 174人参与
# 担心入职之后被发现很菜怎么办 #
142449次浏览 822人参与
# 哪些公司校招卡第一学历 #
83822次浏览 363人参与
# 职场人,说说你的烦心事 #
12646次浏览 106人参与
# 软开人,秋招你打算投哪些公司呢 #
109878次浏览 991人参与
# 你觉得找工作该拿大厂还是小厂练手 #
196284次浏览 1752人参与
# 如果重来一次你还会读研吗 #
180871次浏览 1816人参与
# 秋招想进国企该如何准备 #
77557次浏览 427人参与
# 机械人晒出你的简历 #
87416次浏览 715人参与
# 工作一周年分享 #
32465次浏览 193人参与
# 金融财会交流会 #
112999次浏览 386人参与
# 找工作中的意难平 #
784930次浏览 6125人参与