Skip to content

Commit 9deb8d9

Browse files
committed
feat: longest-consecutive-sequence, top-k-frequent-elements solve
1 parent b37f8ee commit 9deb8d9

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package leetcode_study
2+
class SolutionLongestConsecutiveSequence {
3+
fun longestConsecutive(nums: IntArray): Int {
4+
nums.sort()
5+
var cnt = 0
6+
var maxCnt = 0
7+
nums.forEachIndexed { i, _ ->
8+
if (i == 0) {
9+
cnt = 1
10+
}
11+
else if (nums[i-1] == nums[i] - 1) {
12+
cnt++
13+
}
14+
else if (nums[i - 1] == nums[i]) {
15+
return@forEachIndexed
16+
} else {
17+
cnt = 1
18+
}
19+
maxCnt = maxOf(maxCnt, cnt)
20+
}
21+
22+
return maxCnt
23+
}
24+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package leetcode_study
2+
class SolutionTopKFrequentElements {
3+
fun topKFrequent(nums: IntArray, k: Int): IntArray {
4+
val numsCount = mutableMapOf<Int, Int>()
5+
for (num in nums) {
6+
val value = numsCount.getOrDefault(num, 0)
7+
numsCount[num] = value + 1
8+
}
9+
val sortedNumsCount = numsCount.entries
10+
.sortedByDescending { it.value }
11+
.associate { it.toPair() }
12+
13+
return sortedNumsCount.keys.take(k).toIntArray()
14+
}
15+
}

0 commit comments

Comments
 (0)