Subarray Sums Divisible by K - Leetcode 974 - Python
Ғылым және технология
🚀 neetcode.io/ - A better way to prepare for Coding Interviews
🧑💼 LinkedIn: / navdeep-singh-3aaa14161
🐦 Twitter: / neetcode1
⭐ BLIND-75 PLAYLIST: • Two Sum - Leetcode 1 -...
Problem Link: leetcode.com/problems/subarra...
0:00 - Read the problem
0:30 - Drawing Explanation
14:30 - Coding Explanation
leetcode 974
#neetcode #leetcode #python
Пікірлер: 67
I have a two technical interviews on Wednesday and Thursday. Hopefully I clear them and get the job🤞 Edit - Dint get selected for next round. I'll keep leetcoding until I get another job
@AdityaRaj-xm6oi
Ай бұрын
Good luck buddy
@chrischika7026
Ай бұрын
goodluck, and comeback to this comment to tell us how you did.
@NeetCodeIO
Ай бұрын
Good luck you got this!!!
@akakop
Ай бұрын
Hopefully I get this question
@varunagarwal1756
Ай бұрын
You guys are getting interviews?
Pattern is same as yesterday problem. Thanks man your explanation helped me solve this on my own.
Thanks for uploading this, the issue I realized I was having with this problem was due to negative numbers being modded in Java
Hey @Neetcode Can you please upload solutions for contests as well. It would be really helpful😊
-1%5 is 4 in python but in other languages, java c#, javascript it is equal to -1. curr+=nums[i]; int key = curr % k; if(curr
@YashTech16
Ай бұрын
if sum is -5 and k = 5 then key is 0 but as curr Hence one more condition required curr += nums[i]; int key = curr % k; if(curr key += k; }
@ameydhimte_c5956
Ай бұрын
@@YashTech16 key won't be zero buddy. How would you make a sum divisible by 0
@Antinormanisto
Ай бұрын
I understand how it's 4 Just some math that i hate: a = -1 // 5, how to do it? -1 / 5 = -0.2, round it to the floor. a = -1. -1 % 5(it's b, ok?) = -1(a) * 5(b) + x -1 % 5 = -5 + x. x is 4 because we need to find the x that will give the first number(-1) after plusing the x with the result -1(a) * 5(b) (-5) -1 = -5 + x 4 = x Sorry if I made a mistake, but I heard this solution how to solve mod(%) with negative numbers
@markuscwatson
Ай бұрын
This works in typescript: `let rem = ((sum % k) + k) % k;`
@marcoaraujo9446
Ай бұрын
But with regard to this difference, do you know why? Why does python have a different result to java, shouldn't the operation be implemented in the same and be agnostic from programming language ?
Great explanation as always. Thank you
thank you neetcode!
pretty much got this thanks to yesterdays leetcode daily problem and by figuring out the pattern of how the occurence of multiple remainders are contributing in final ans
this channel is so good
Main Point : If two prefix sums have the same remainder when divided by 𝐾 ,the subarray between these two prefix sums is divisible by 𝐾
Crazy intuition fr!
much easier to understand than the leetcode editorial! Nice job!
For java programmers if remainder is -ve then just add k to it to make it positive same as python does and all will be right. if(rem < 0) rem = k + rem;
Yayyy you’re finally back
Nice!!😊
For whoever stuck on "wrong" remainders for negative numbers - use Euclidean remainder instead of default % operator. It goes like (n % m + m) % m.
Ok I’m too addicted to these videos.. I need to stop.. this is past my bed time lolz
I didn't get it. In this particular case divisible doesn't mean evenly divisible, i.e. it doesn't have to be prefix_sum % k == 0?
Hey can you also solve the contest questions ❓
woudlt an array actually have n! subarrays since your starting at every position and each time decrementing one so it would be like n * (n - 1) * (n - 2)... ?
Bro, Your teaching is nice. It would be nicer if you took care of your accent. Please do
bro what’s ur routine like
i always stuck on these kind of problems why i dont get a intution of solving them , I mean optimize solutions.
Hint: If you're not using python, don't forget to adjust the remainder to be a positive number in case the language you're using returns a negative remainder. if (remainder < 0) remainder += k;
For negative remainder, its not working.
Will it work for negative remainder? For me its nor working.
@its_shivam_jha
22 күн бұрын
yaa it doesn't work for me too
Can you explain why (remainder < 0) remainder = k+remainder works?
@zweitekonto9654
Ай бұрын
Read about modular arithmetic for negative numbers.
Because of the problem yesterday, 523, I watched the video of 560, but I still feel a little confused about 523. Will you explain and upload it? Even make it into shorts would be helpful.
@Stopkaaaa
Ай бұрын
He already did it kzread.info/dash/bejne/gX-X1K6fgpCenag.html
why we don't need check the remainder is positive?
@hesheid9159
Ай бұрын
python take right remainder we dont need to check it
@yxchen6080
Ай бұрын
@@hesheid9159 does it mean that the logic of this solution is only for python? In other language, we need to adjust the remainder to positive by ourself?
@zinnia993
Ай бұрын
@@yxchen6080 yes we need another check if remainder is negative
Third
Bob ross reference
Forth
first
I still don't understand it
Am I stupid or this problem was hard? prolly I am stupid 😅
@sabukuna
Ай бұрын
its a big math gap. i couldnt do it either.
I'm like a monkey being taught P.s I didn't understand an explanation