Skip to content

Commit d182fc2

Browse files
Merge pull request #181
add new problems 26.04
2 parents 0b23246 + dccae42 commit d182fc2

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

contest/src/main/java/com/github/contest/design/DesignLeetcode.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,32 @@ class TimeMap() {
152152

153153
private fun emptyString() = ""
154154

155+
}
156+
157+
/**
158+
* 380. Insert Delete GetRandom O(1)
159+
*/
160+
161+
class RandomizedSet() {
162+
163+
private val store = mutableMapOf<Int, Int>()
164+
165+
fun insert(`val`: Int): Boolean = when {
166+
store.contains(`val`) -> false
167+
else -> {
168+
store[`val`] = store.getOrDefault(`val`, 0) + 1
169+
true
170+
}
171+
}
172+
173+
fun remove(`val`: Int): Boolean = when {
174+
!store.contains(`val`) -> false
175+
else -> {
176+
store.remove(`val`)
177+
true
178+
}
179+
}
180+
181+
fun getRandom(): Int = store.keys.random()
182+
155183
}

0 commit comments

Comments
 (0)