第二题
public ListNode sortList(ListNode head) {
ListNode temp = head;
TreeMap<Integer, Integer> map = new TreeMap<>();
while (temp != null) {
map.put(temp.val, map.getOrDefault(temp.val, 0) + 1);
temp = temp.next;
}
temp = head;
while (temp != null) {
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
Integer key = entry.getKey();
Integer num = entry.getValue();
if (num == 0) {
break;
}
map.put(key, num - 1);
temp.val = key;
temp = temp.next;
}
}
return head;
}
第三题
package FreeTime;
import java.util.ArrayDeque;
import java.util.HashMap;
import java.util.Objects;
import java.util.Scanner;
public class BS_3 {
HashMap<Integer, Integer> map = new HashMap<>();
ArrayDeque<Info> deque = new ArrayDeque<>();
ArrayDeque<Info> tempDeque = new ArrayDeque<>();
public void in(int index, String s) {
deque.add(new Info(index, s));
map.put(index, map.getOrDefault(index, 0) + 1);
}
public String out(int index) {
if (deque.isEmpty() || map.isEmpty() || (index != 0 && !map.containsKey(index))) {
return "-1";
}
if (index == 0) {
Info poll = deque.poll();
map.put(poll.index, map.getOrDefault(poll.index, 0) - 1);
if (map.get(poll.index) <= 0) {
map.remove(poll.index);
}
return poll.value;
}
Info element = null;
while (!deque.isEmpty() && (element = deque.poll()).index != index) {
tempDeque.addFirst(element);
}
while (!tempDeque.isEmpty()) {
deque.addFirst(Objects.requireNonNull(tempDeque.pollFirst()));
}
map.put(index, map.get(index) - 1);
if (map.get(index) == 0) {
map.remove(index);
}
return element == null ? "-1" : element.value;
}
public static void main(String[] args) {
BS_3 bs_3 = new BS_3();
Scanner in = new Scanner(System.in);
int operateNum = Integer.parseInt(in.nextLine());
for (int i = 0; i < operateNum; i++) {
String line = in.nextLine();
String[] tokens = line.split(" ");
if (tokens[0].equals("in")) {
int index = Integer.parseInt(tokens[1]);
bs_3.in(index, tokens[2]);
} else if (tokens[0].equals("out")) {
int index = Integer.parseInt(tokens[1]);
System.out.println(bs_3.out(index));
}
}
}
static class Info {
int index;
String value;
public Info(int index, String value) {
this.index = index;
this.value = value;
}
}
}
622

被折叠的 条评论
为什么被折叠?



