Skip to content

Commit 32dda74

Browse files
committed
masx200.leetcode_test.design_skiplist
1 parent 5aac39d commit 32dda74

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

design-skiplist/index.kt

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
1-
//package masx200.leetcode_test.design_skiplist
2-
//
3-
//class Skiplist() {
4-
//
5-
// fun search(target: Int): Boolean {
6-
//
7-
// }
8-
//
9-
// fun add(num: Int) {
10-
//
11-
// }
12-
//
13-
// fun erase(num: Int): Boolean {
14-
//
15-
// }
16-
//
17-
//}
1+
package masx200.leetcode_test.design_skiplist
2+
3+
class Skiplist {
4+
private val storage = hashMapOf<Int, Int>()
5+
fun search(target: Int): Boolean {
6+
return storage.getOrDefault(target, 0) > 0
7+
}
8+
9+
fun add(num: Int) {
10+
storage.set(num, storage.getOrDefault(num, 0) + 1)
11+
}
12+
13+
fun erase(num: Int): Boolean {
14+
if (storage.getOrDefault(num, 0) == 1) {
15+
storage.remove(num)
16+
return true
17+
}
18+
if (search(num)) {
19+
storage.set(num, storage.getOrDefault(num, 0) - 1)
20+
return true
21+
} else {
22+
return false
23+
}
24+
}
25+
26+
}

leetcode-test.iml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
</content>
88
<orderEntry type="inheritedJdk" />
99
<orderEntry type="sourceFolder" forTests="false" />
10-
<orderEntry type="library" exported="" name="leetcode-test" level="project" />
1110
<orderEntry type="library" exported="" name="KotlinJavaRuntime" level="project" />
12-
<orderEntry type="library" name="junit.jupiter" level="project" />
11+
<orderEntry type="library" exported="" name="junit.jupiter" level="project" />
1312
</component>
1413
</module>

0 commit comments

Comments
 (0)