Subarray Sums Divisible by K - Leetcode 974 - Python

Поділитися
Вставка
  • Опубліковано 26 сер 2024

КОМЕНТАРІ • 71

  • @shazam3218x
    @shazam3218x 2 місяці тому +50

    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
      @AdityaRaj-xm6oi 2 місяці тому +3

      Good luck buddy

    • @chrischika7026
      @chrischika7026 2 місяці тому +5

      goodluck, and comeback to this comment to tell us how you did.

    • @NeetCodeIO
      @NeetCodeIO  2 місяці тому +4

      Good luck you got this!!!

    • @akakop
      @akakop 2 місяці тому +1

      Hopefully I get this question

    • @varunagarwal1756
      @varunagarwal1756 2 місяці тому +5

      You guys are getting interviews?

  • @chaitanyasharma6270
    @chaitanyasharma6270 2 місяці тому +38

    -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
      @YashTech16 2 місяці тому +2

      if sum is -5 and k = 5 then key is 0 but as curr < 0 key would be changed
      Hence one more condition required
      curr += nums[i];
      int key = curr % k;
      if(curr < 0 && key != 0){
      key += k;
      }

    • @ameydhimte_c5956
      @ameydhimte_c5956 2 місяці тому

      @@YashTech16 key won't be zero buddy. How would you make a sum divisible by 0

    • @Antinormanisto
      @Antinormanisto 2 місяці тому

      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
      @markuscwatson 2 місяці тому +1

      This works in typescript: `let rem = ((sum % k) + k) % k;`

    • @marcoaraujo9446
      @marcoaraujo9446 2 місяці тому

      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 ?

  • @akash-kumar737
    @akash-kumar737 2 місяці тому +8

    Pattern is same as yesterday problem.
    Thanks man your explanation helped me solve this on my own.

  • @yang5843
    @yang5843 2 місяці тому +4

    Thanks for uploading this, the issue I realized I was having with this problem was due to negative numbers being modded in Java

  • @maanas_sehgal
    @maanas_sehgal 2 місяці тому +9

    Hey @Neetcode
    Can you please upload solutions for contests as well. It would be really helpful😊

  • @rumonintokyo
    @rumonintokyo 19 днів тому

    That is a great explanation thanks a lot but coming up with it during an interview is another challenge altogether!!

  • @fiascogamingchannel78
    @fiascogamingchannel78 2 місяці тому

    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

  • @thomasmcnutt252
    @thomasmcnutt252 2 місяці тому

    much easier to understand than the leetcode editorial! Nice job!

  • @fancypants6062
    @fancypants6062 2 місяці тому +3

    this channel is so good

  • @MP-ny3ep
    @MP-ny3ep 2 місяці тому +1

    Great explanation as always. Thank you

  • @AJK-a2j00k4
    @AJK-a2j00k4 2 місяці тому +1

    Crazy intuition fr!

  • @nirmalgurjar8181
    @nirmalgurjar8181 2 місяці тому

    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;

  • @nnkbrain
    @nnkbrain 2 місяці тому +1

    Hey can you also solve the contest questions ❓

  • @user-he4st2ro5h
    @user-he4st2ro5h 2 місяці тому

    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?

  • @EliasKibret
    @EliasKibret 2 місяці тому +11

    Main Point : If two prefix sums have the same remainder when divided by 𝐾 ,the subarray between these two prefix sums is divisible by 𝐾

  • @pastori2672
    @pastori2672 2 місяці тому

    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)... ?

  • @saisurisetti6278
    @saisurisetti6278 2 місяці тому

    Ok I’m too addicted to these videos.. I need to stop.. this is past my bed time lolz

  • @RACM27MD
    @RACM27MD 2 місяці тому

    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;

  • @abid3801
    @abid3801 2 місяці тому

    Bro, Your teaching is nice. It would be nicer if you took care of your accent. Please do

  • @DeathSugar
    @DeathSugar 2 місяці тому

    For whoever stuck on "wrong" remainders for negative numbers - use Euclidean remainder instead of default % operator. It goes like
    (n % m + m) % m.

  • @jensenzhang2452
    @jensenzhang2452 2 місяці тому

    thank you neetcode!

  • @gagandhand8907
    @gagandhand8907 2 місяці тому

    For negative remainder, its not working.

  • @user-ns7tu5no1i
    @user-ns7tu5no1i 2 місяці тому

    i always stuck on these kind of problems why i dont get a intution of solving them , I mean optimize solutions.

  • @sidreddy7030
    @sidreddy7030 2 місяці тому

    Yayyy you’re finally back

  • @aviksain
    @aviksain Місяць тому +1

    This is in python that's way we don't have to do this
    int remain = (prefix_sum % k + k) % k;

    • @iluvDDOI
      @iluvDDOI 28 днів тому

      Thanks man. btw why did it not work in c++ as it works fine in python

    • @aviksain
      @aviksain 28 днів тому

      @@iluvDDOI Because in python compiler if you modulo some number it gives a positive number like this
      -4%7 = 3 but in c++ we will get this -4%7 = -4 thats way we have to convert the negative numbers into positive number for the question to match the previous reminder and count it.

  • @zinnia993
    @zinnia993 2 місяці тому

    Can you explain why (remainder < 0) remainder = k+remainder works?

    • @zweitekonto9654
      @zweitekonto9654 2 місяці тому

      Read about modular arithmetic for negative numbers.

  • @tai-xinyu407
    @tai-xinyu407 2 місяці тому

    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
      @Stopkaaaa 2 місяці тому

      He already did it ua-cam.com/video/OKcrLfR-8mE/v-deo.html

  • @gagandhand8907
    @gagandhand8907 2 місяці тому

    Will it work for negative remainder? For me its nor working.

  • @chien-yuyeh9386
    @chien-yuyeh9386 2 місяці тому

    Nice!!😊

  • @s8x.
    @s8x. 2 місяці тому

    bro what’s ur routine like

  • @venusshili
    @venusshili 2 місяці тому

    why we don't need check the remainder is positive?

    • @hesheid9159
      @hesheid9159 2 місяці тому

      python take right remainder we dont need to check it

    • @zz-yy-xx
      @zz-yy-xx 2 місяці тому +1

      @@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
      @zinnia993 2 місяці тому

      @@zz-yy-xx yes we need another check if remainder is negative

  • @stormShadow64
    @stormShadow64 2 місяці тому

    I still don't understand it

  • @MehmetDemir-xi3yy
    @MehmetDemir-xi3yy 2 місяці тому

    Bob ross reference

  • @user-qp5cw8sd4w
    @user-qp5cw8sd4w 2 місяці тому

    first

  • @nikhil199029
    @nikhil199029 2 місяці тому +1

    Am I stupid or this problem was hard? prolly I am stupid 😅

    • @sabukuna
      @sabukuna 2 місяці тому +1

      its a big math gap. i couldnt do it either.

  • @vishruthpuli1664
    @vishruthpuli1664 2 місяці тому

    Third

  • @upsidedownChad
    @upsidedownChad 2 місяці тому

    Forth

  • @Antinormanisto
    @Antinormanisto 2 місяці тому

    I'm like a monkey being taught
    P.s I didn't understand an explanation