[Java] Leetcode 380. Insert Delete GetRandom O(1) [Design #2]

  Рет қаралды 3,720

Eric Programming

Eric Programming

Күн бұрын

Пікірлер: 12
@arrabbi1105
@arrabbi1105 3 жыл бұрын
wow nice this viedo ❣️ Thanks for sharing ❣️❣️
@eleanor8967
@eleanor8967 3 жыл бұрын
Nice solution !! I think there is no use of auto it : map.find(), we can simply do like this :- bool remove(int val) { if(!mp.count(val)) return false; mp[v.back()]=mp[val]; swap(v.back(),v[mp[val]]); v.pop_back(); mp.erase(val); return true; }
@EricProgramming
@EricProgramming 3 жыл бұрын
That's a great tip
@sahmbtw
@sahmbtw Жыл бұрын
great explanation. very easy to understand. keep it up man
@SHSelect
@SHSelect 2 жыл бұрын
easy to understand Thank you Eric
@Joseph45758
@Joseph45758 3 жыл бұрын
Insertion in map and deletion from map will also take time then how it become in O(1) time complexity?
@EricProgramming
@EricProgramming 3 жыл бұрын
O(1) on average.
@Mathilda822
@Mathilda822 3 жыл бұрын
sir can you explain Red-Black tree in future video? thank you in advance
@EricProgramming
@EricProgramming 3 жыл бұрын
For sure!
@LaytoyaThomas23
@LaytoyaThomas23 3 жыл бұрын
To check into the map whether the key is present or not .it does take o(n) time doesn't it?
@EricProgramming
@EricProgramming 3 жыл бұрын
No, it takes O(1) on average. The worst care is O(n).
@ozanservet
@ozanservet Жыл бұрын
Thank you for your video. Because of different getRandom values, I have a problem with this code :S This question is not make sense. private HashMap map = new HashMap(); // key = value, value = list index private List list = new ArrayList(); Random random = new Random(); public RandomizedSet() { } public boolean insert(int val) { if(map.get(val) != null) { return false; } map.put(val, list.size()); list.add(val); return true; } public boolean remove(int val) { if(map.get(val) == null) { return false; } // Move list end to be removed int listRemoveIndex = map.get(val); int listOldEndValue = list.get(list.size() - 1); list.set(listRemoveIndex, listOldEndValue); // delete list end // only deletion of last element is O(1) in ArrayList() list.remove(list.size() - 1); // update map list index map.put(listOldEndValue, listRemoveIndex); // delete from map map.remove(val); return true; } public int getRandom() { if(list.size() - 1 == 0) { return list.get(0); } return list.get(random.nextInt(0, list.size() - 1)); }
Insert Delete GetRandom O(1) - Leetcode 380 - Python
13:27
NeetCode
Рет қаралды 51 М.
Amazon Coding Question - Insert Delete GetRandom O(1)
11:54
AlgosWithMichael
Рет қаралды 11 М.
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 30 МЛН
Как Я Брата ОБМАНУЛ (смешное видео, прикол, юмор, поржать)
00:59
[Java] Leetcode 146. LRU Cache [Design #1]
16:32
Eric Programming
Рет қаралды 4,8 М.
Coding Interview | Software Engineer @ Bloomberg (Part 1)
30:05
Keep On Coding
Рет қаралды 4,7 МЛН
Object-Oriented Programming is Embarrassing: 4 Short Examples
28:03
Brian Will
Рет қаралды 2,1 МЛН
380. Insert Delete GetRandom O(1) | Hot & Important Question
18:22
Aryan Mittal
Рет қаралды 2,5 М.
Insert Delete GetRandom O(1) | Java | LeetCode - Medium - 380
13:40
Jump Game - Greedy - Leetcode 55
16:28
NeetCode
Рет қаралды 257 М.
My 10 “Clean” Code Principles (Start These Now)
15:12
Conner Ardman
Рет қаралды 289 М.
LeetCode Exercise in Java Tutorial - Two Sum FAST Solution
23:36
Coding with John
Рет қаралды 194 М.
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 7 МЛН