Skip to content

Commit 9f24da1

Browse files
committed
add solution of longest-consecutive-sequence
1 parent c73917c commit 9f24da1

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public int longestConsecutive(int[] nums) {
5+
// ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
6+
Set<Integer> distinct = new HashSet<>();
7+
for (int num : nums) {
8+
distinct.add(num);
9+
}
10+
List<Integer> list = new ArrayList<>(distinct);
11+
Collections.sort(list);
12+
13+
// ์—ฐ์†๋œ ์ˆซ์ž๋ผ๋ฉด ์Šคํƒ์— ์ €์žฅ
14+
Stack<Integer> stack = new Stack<>();
15+
int answer = 0;
16+
for (int num : list) {
17+
if (stack.isEmpty()) {
18+
stack.add(num);
19+
continue;
20+
}
21+
22+
// ์—ฐ์†๋œ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ํ˜„์žฌ๊นŒ์ง€ ์—ฐ์†๋œ ์ˆ˜๋ฅผ ์ €์žฅ ํ›„ ์Šคํƒ ์ดˆ๊ธฐํ™”
23+
if (stack.peek() + 1 != num) {
24+
answer = Math.max(answer, stack.size());
25+
stack.clear();
26+
}
27+
28+
stack.add(num);
29+
}
30+
31+
return Math.max(answer, stack.size());
32+
}
33+
}

0 commit comments

Comments
ย (0)