Design an Ordered Stream
要求设计一个流, 问返回最大的连续长度的id.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class OrderedStream { int ptr = 1; Map<Integer, String> map; public OrderedStream(int n) { map = new HashMap<>(); } public List<String> insert(int id, String value) { List<String> res = new ArrayList<>(); map.put(id, value); while(map.containsKey(ptr)){ ptr++; } for(int i = id; i < ptr; i++){ res.add(map.get(i)); } return res; } } /** * Your OrderedStream object will be instantiated and called as such: * OrderedStream obj = new OrderedStream(n); * List<String> param_1 = obj.insert(id,value); */ |