I used the bucket sort approach you taught us in Top K frequent elements. I'm going to analyze the time complexity of mine then watch your video but thanks for being such a great teacher. I learned (and will continue to learn) so much from you. I used to be so clueless. Thank youu
I love the fact that even if I am able to solve the question, I almost always get something useful from Neetcode's solution, somedays It is the optimized approach, and on the other it is better code quality.
add arr.sort() before sorting by the count. This is because even though you sorted by count, the numbers with the same count can appear in any order. For instance, [1,1,2,2] could get sorted to [1,2,1,2] because 1 and 2 have the same count.
You could also do this - arr.sort(key=lambda x: (count[x], x), reverse=True) It will first sort by freq and then by value which will fix the order as well
I used the bucket sort approach you taught us in Top K frequent elements. I'm going to analyze the time complexity of mine then watch your video but thanks for being such a great teacher. I learned (and will continue to learn) so much from you. I used to be so clueless. Thank youu
me too!
I love the fact that even if I am able to solve the question, I almost always get something useful from Neetcode's solution, somedays It is the optimized approach, and on the other it is better code quality.
so impressive, thanks a lot sir
I solved it using bucket sort too!!
Great video, thank you
Today I am happy that I have solved this by myself🎉
congrarts
Seemed like a greedy and sorting problem
Amazing
Can someone explain the logical mistake in my code
class Solution:
def findLeastNumOfUniqueInts(self, arr: List[int], k: int) -> int:
count = Counter(arr)
arr.sort(key=lambda x: count[x], reverse=True)
n = len(arr)
return len(set(arr[:n - k]))
please...!!
add arr.sort() before sorting by the count. This is because even though you sorted by count, the numbers with the same count can appear in any order. For instance, [1,1,2,2] could get sorted to [1,2,1,2] because 1 and 2 have the same count.
Thanks bro! U saved my streak
You could also do this -
arr.sort(key=lambda x: (count[x], x), reverse=True)
It will first sort by freq and then by value which will fix the order as well