Design Hashmap - Leetcode 706 - Python

  Рет қаралды 36,219

NeetCodeIO

NeetCodeIO

Күн бұрын

Пікірлер: 55
@smartsoothing776
@smartsoothing776 Жыл бұрын
I think this is not an easy problem!!
@rasuldanierov1353
@rasuldanierov1353 Жыл бұрын
easy )
@sameensolkar6193
@sameensolkar6193 9 ай бұрын
yes, only if you don't know how hashtable works
@felipeklahn988
@felipeklahn988 4 ай бұрын
It was because on the problem it didn't actually required chaining, if you see on the put method the problem described it asked to just update the value if the key already exists. But the way NeetCode implemented he used chaining and that what's made it harder, but it's a great explanation
@neerajbhale
@neerajbhale 3 ай бұрын
​@@felipeklahn988 chaining is being done for the index itself not the value
@ARkhan-xw8ud
@ARkhan-xw8ud 2 ай бұрын
me too
@mohamedsalama2743
@mohamedsalama2743 9 ай бұрын
you can just use a frequency array with the total size and fill all the numbers with -1 and then just update the values with put/remove, the only drawback is that this will have a space of O(N), but it's much less code and it's like a Hashmap anyway
@AkmalNodirov-vt9gw
@AkmalNodirov-vt9gw 4 ай бұрын
I just used an array before, as the key and value is also integer. That is correct, we should use hashed indexes as general has maps intented to store any kind of type. But in our case it does not necessary, we can just get 1000 rooms of array and store every element as a value. This is just my opinion. By the way, untill watching this video I did not comprehend how actually hash map works. Thanks Navdeep
@IK-xk7ex
@IK-xk7ex Жыл бұрын
I've stared to love DUMMY NODES!
@edis671games
@edis671games Жыл бұрын
anyone here from october 4?
@puseven8604
@puseven8604 Жыл бұрын
Me!
@shakeebparwez
@shakeebparwez Жыл бұрын
Me too.
@batman8377
@batman8377 Жыл бұрын
Me too
@monsterr.k3619
@monsterr.k3619 Жыл бұрын
Yep
@priyam86f
@priyam86f Жыл бұрын
meeeeee
@mlevvy96
@mlevvy96 8 ай бұрын
Do we really need to check `while *cur* and cur.next` for remove operation? Can't we just use `while cur.next' ? I think it's redundant because if there is cur.next then `cur` is definitely not None and we modify the 'next' node anyway for the actual removal process
@ps_v.2.3.20
@ps_v.2.3.20 4 ай бұрын
Same thought! Just try with cur.next and it works cool
@prakul697
@prakul697 Ай бұрын
Cur has to exist before you check cur.next none type can't have next.
@shaco6630
@shaco6630 Жыл бұрын
I thought the question said that there would be at most 10,000 operations done on the map ?
@YouProductions1000
@YouProductions1000 Жыл бұрын
Yeah it does. The solution is still fine though since keys > 1000 get modded to an index between 0-999, and it's better for memory compared to initializing 10,000 nodes (maybe not for time complexity, performing get operations)
@ShivaGolla-t3s
@ShivaGolla-t3s Жыл бұрын
Why is the first node's key and value equal to -1 in the ListNode? Where are we defining it to be -1?
@cinimodmil
@cinimodmil 11 ай бұрын
we're simply giving it a default value as the 'dummy' node to avoid edge cases where self.map[self.hash(key)] is None. also, the constraint shows that key and value are in this range: 0
@krateskim4169
@krateskim4169 Жыл бұрын
you are great
@yizhang9089
@yizhang9089 Жыл бұрын
So we don't need to initialize a dummy node?
@stevemiller123
@stevemiller123 2 ай бұрын
He made the dummy nodes when he did: self.hashmap = [LinkNode() for _ in range(MAX)]
@pikugoud1358
@pikugoud1358 11 ай бұрын
you should arrays and its indices instead of map
@19.sairoopesh10
@19.sairoopesh10 5 ай бұрын
was stuck on that edge case
@aaronye4857
@aaronye4857 Жыл бұрын
Why is the key and value equal to -1 when init the ListNode?
@stevemiller123
@stevemiller123 3 ай бұрын
Why do we want a value between 0-999?
@tanish5662
@tanish5662 Жыл бұрын
still not sure why you have ussed 1000
@aamrahmunawwar5033
@aamrahmunawwar5033 Жыл бұрын
why cant me just use an array instead of an array of ListNodes?
@utkarshmaurya6877
@utkarshmaurya6877 Жыл бұрын
Because insertion and deletion won't be constant time in an array, you will have to shift values. That won't be a problem if you use a linked list.
@selfhelpguy5589
@selfhelpguy5589 6 ай бұрын
Why 1000?
@omaryahia
@omaryahia 5 ай бұрын
،amazing
@aditijain2448
@aditijain2448 Жыл бұрын
why use linked list when we can use simple list
@VaishnaviMamilla
@VaishnaviMamilla Жыл бұрын
I think remove in a list takes O(n) TC where as in LL it takes O(1).That may be the reason
@shashankhegde8365
@shashankhegde8365 Жыл бұрын
Why can't we just use a dictinary rather than an array?
@coolkaw4497
@coolkaw4497 Жыл бұрын
because isnt a dictionary essentially a hashmap already so there would be no point 😂
@jeminpatel3273
@jeminpatel3273 Жыл бұрын
why can't we use list?
@kareemadesola6522
@kareemadesola6522 Жыл бұрын
0
@flamendless
@flamendless Жыл бұрын
Why not [List()] * 1000?
@NeetCodeIO
@NeetCodeIO Жыл бұрын
Yeah, that would've been more concise
@felixsla21
@felixsla21 Жыл бұрын
But wouldn't this copy the same ListNode reference 1000 times?
@frigginPAN
@frigginPAN Жыл бұрын
@@felixsla21 yeah youre right. I also thought [List()]*1000 would make 1000 objects but it wont. It just make one object and then stores its reference in all indexes
@codedoctor3265
@codedoctor3265 4 ай бұрын
@NeetCodeIO i think you should initialize with 10000 instead 1000 since question say there 10**4 calls
@prajwalrawat333
@prajwalrawat333 Жыл бұрын
Hey, have been watching your videos and following. I want to be good in DSA to crack interviews, what path should i follow?
@giz2001
@giz2001 15 күн бұрын
Im so cooked
@Yougottacryforthis
@Yougottacryforthis 11 ай бұрын
kinda awful hashmap but hey it meets the api requirements i guess. sad to see no dyanmic array, solving collisions with list and not a tree and so on
Range Sum Query Immutable - Leetcode 303 - Python
7:42
NeetCodeIO
Рет қаралды 19 М.
Design HashSet - Leetcode 705 - Python
11:57
NeetCodeIO
Рет қаралды 24 М.
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 13 МЛН
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 6 МЛН
How to Fight a Gross Man 😡
00:19
Alan Chikin Chow
Рет қаралды 17 МЛН
Implement Queue using Stacks - Leetcode 232 - Python
15:23
NeetCodeIO
Рет қаралды 30 М.
Design HashMap | Live Coding with Explanation | Leetcode - 706
12:17
Algorithms Made Easy
Рет қаралды 24 М.
Two Sum - Leetcode 1 - HashMap - Python
8:26
NeetCode
Рет қаралды 1,4 МЛН
Implement Trie (Prefix Tree) - Leetcode 208
18:56
NeetCode
Рет қаралды 213 М.
LRU Cache - Twitch Interview Question - Leetcode 146
17:49
NeetCode
Рет қаралды 302 М.
Task Scheduler - Leetcode 621 - Python
17:07
NeetCode
Рет қаралды 186 М.
Top K Frequent Elements - Bucket Sort - Leetcode 347 - Python
13:13
Valid Parentheses - Stack - Leetcode 20 - Python
10:43
NeetCode
Рет қаралды 419 М.
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 13 МЛН