Skip to content

Commit c54cc68

Browse files
committed
1656. Design an Ordered Stream - optimal
1 parent 6302f8c commit c54cc68

File tree

1 file changed

+6
-18
lines changed

1 file changed

+6
-18
lines changed

src/main/java/ood/design/OrderedStream.java

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
import annotation.Stage;
77

88
import java.util.ArrayList;
9-
import java.util.HashMap;
109
import java.util.List;
11-
import java.util.Map;
1210

1311
/**
1412
* 1656. Design an Ordered Stream
@@ -17,34 +15,24 @@
1715
@Platform(Site.LEETCODE)
1816
public class OrderedStream {
1917

20-
private int size,pointer;
21-
private int[] values;
22-
private Map<Integer,String> map;
18+
private String[] values;
19+
private int size , pointer;
2320

2421
public OrderedStream(int n) {
2522
size = n;
23+
values = new String[n+1];
2624
pointer = 1;
27-
values = new int[n+1];
28-
map = new HashMap<>();
2925
}
3026

3127
public List<String> insert(int idKey, String value) {
32-
values[idKey] = idKey;
33-
map.put(idKey,value);
28+
values[idKey] = value;
3429
return getStreamValues();
3530
}
3631

3732
private List<String> getStreamValues(){
3833
List<String> result = new ArrayList<>();
39-
if(values[pointer] == 0)
40-
return result;
41-
for(int i = pointer; i <= size ; i++) {
42-
if(map.containsKey(i)){
43-
result.add(map.get(i));
44-
} else {
45-
pointer = i;
46-
break;
47-
}
34+
while( pointer <= size && values[pointer] != null){
35+
result.add(values[pointer++]);
4836
}
4937
return result;
5038
}

0 commit comments

Comments
 (0)