I'm guessing neither does he, you'll have to learn it from somewhere first. I don't think people just come up with non naive solutions for questions like this
The hardest idea to rationalize for me is that the optimal result array has to start with one of the numbers in the array. Because there are solutions that are just as good that don't - e.g. for the array [2,3,6] - the result [1,2,3] is just as good as [2,3,4] - requires 1 change.
My initial thought was to use binary search. If we can figure out for any x: is it possible to make x replacements and make the array continuous - if so, then we can apply binary search. But I am not sure how we can figure that out optimally
I had a different intuition to use difference in sets but that times out and only works for 54 out 62 test cases :( def minOperations(self, nums: List[int]) -> int: res = inf current = set(nums) for num in nums: desired = set([x for x in range(num,num+len(nums))]) res = min(res, len(desired.difference(current)))
That's O(n^2) since you're creating a set of size n for every num. I had a similar n^2 idea to what was talked about in the video except I used a min heap instead of sorting. This was a hard problem today!
Hey man, thanks for such a fast upload. I watch your videos because I'm doing DSA in Python. I will be honest, I find your explanation a little fast. I agree I'm slow and I need a lot of examples to actually get the solution methodology in my head but I feel you either speak super fast or don't write out the complete step-by-step process before coding it up. However, I still appreciate that you give us a live coding solution and try the best you can. I am trying to improve my capacity to grasp things better too haha. Thanks again
GREATEST CODING CHANNEL ON RUclips. PERIOD.
this video felt more like a therapy session. "Don't be sad that you couldn't do it. It was hard."
Jokea apart, great video.
I did solve it in my head the same way but it was O(n2). As for the optimization, it would have been difficult, so didn't use my brain for it. lol
I've watched your channel (NeetCode channel) almost 2 yrs.
It always have been such a helpful. Thank you so much!
the best intuition you can get for any question is this guy for sure
I code in java but i watch the video for the neetcode logical approach for each and every problem
demn such a quick upload, i do dsa in java but i still watch your videos to get the intution
Just superb. Hats off to way you explain and cover edge cases.
You make these so simple, no way I will ever come up with that solution.
I'm guessing neither does he, you'll have to learn it from somewhere first. I don't think people just come up with non naive solutions for questions like this
The hardest idea to rationalize for me is that the optimal result array has to start with one of the numbers in the array.
Because there are solutions that are just as good that don't - e.g. for the array [2,3,6] - the result [1,2,3] is just as good as [2,3,4] - requires 1 change.
god damn even that brute-force solution blew my mind
Too good brother.. Nice explanation
Thank Youu ! ❤
today I came up with the brute force approach on my own :)
More Hard Challegens lets go, do More, Very insightful
Thanks for this, Can we have a video on leetcode 1420. Build Array Where You Can Find The Maximum Exactly K Comparisons?
My initial thought was to use binary search.
If we can figure out for any x: is it possible to make x replacements and make the array continuous - if so, then we can apply binary search.
But I am not sure how we can figure that out optimally
Pls upload more videos on logic making problems
Bro keep uploading leetcode videos
I had a different intuition to use difference in sets but that times out and only works for 54 out 62 test cases :(
def minOperations(self, nums: List[int]) -> int:
res = inf
current = set(nums)
for num in nums:
desired = set([x for x in range(num,num+len(nums))])
res = min(res, len(desired.difference(current)))
return res
That's O(n^2) since you're creating a set of size n for every num. I had a similar n^2 idea to what was talked about in the video except I used a min heap instead of sorting. This was a hard problem today!
did your min heap idea worked?@@Raymond-Wu
@@zzz-mn2yyit worked but exceeded the time limit since it was n^2. It got stuck at a similar point to the post above.
thanks for this , very helpful
Instead of 2 pointers, we can use Binary search
Hey man, thanks for such a fast upload. I watch your videos because I'm doing DSA in Python. I will be honest, I find your explanation a little fast. I agree I'm slow and I need a lot of examples to actually get the solution methodology in my head but I feel you either speak super fast or don't write out the complete step-by-step process before coding it up. However, I still appreciate that you give us a live coding solution and try the best you can. I am trying to improve my capacity to grasp things better too haha. Thanks again
Trying to overlook how the brute force O(n^2) would look like here but struggling...
same, did you get it
man this one is hard alright. tough to find solution
Awesome
Nice Explanation man
How to good at programming like you bro
your solution does not give a correct output for multiple duplicate integers.
i believe it does since my submission worked, did it not work for you?