Non-Decreasing Array - Leetcode 665 - Python

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

КОМЕНТАРІ • 68

  • @mrditkovich2339
    @mrditkovich2339 2 роки тому +29

    Leetcode + Neetcode = Success !
    I got selected in Amazon thanks to you 😊

  • @shashanksingh4510
    @shashanksingh4510 2 роки тому +35

    Your channel is the best channel in my subscription list. Usually i get bored listening to the solution videos, but surprisingly that doesn't happen during your videos. Keep posting videos for the people like me so that i can also end up in the place you are currently in🙌🙌

    • @NeetCode
      @NeetCode  2 роки тому +5

      Glad they're helpful!

  • @john_paul
    @john_paul 2 роки тому +12

    Thanks for this! Really like the brevity of your walk-throughs on these questions, and it helps me a lot to try and translate them to different languages like C or C++ to better understand your explanations. Keep it up! :D

  • @fatihorhan9355
    @fatihorhan9355 2 роки тому +2

    Shouldn't this be an easy question?

  • @vasujain1970
    @vasujain1970 2 роки тому +12

    Ah leetcode daily challenge questions are the best soln to provide. Love your content.
    Had a question regarding your Google interview, what if one cannot come up wid something better than sub optimal soln in limited time. What's the best way to optimise for time? Thanks!

    • @NeetCode
      @NeetCode  2 роки тому +13

      Best suggestion I have is to talk about possible ways to improve it with the interviewer and they might point you in the right direction.

  • @tylerrussell7560
    @tylerrussell7560 2 роки тому +4

    Can a stack be used to eliminate the edge cases?

  • @johnvanschultz2297
    @johnvanschultz2297 2 роки тому +3

    Never thought of using index - 2. I feel like I would never come up with that in an interview

  • @chesslectures9081
    @chesslectures9081 2 роки тому +4

    watched it 3 times , neat and clean explanation

  • @ChiragVithlani
    @ChiragVithlani 2 роки тому +2

    You have superpower of explaining difficult things in easy words. The best part is you are teaching "how to think". BTW, what tool you use for drawing ?

    • @bill312r
      @bill312r 2 роки тому

      i'm curious about that too does anyone know the name of the tool?

  • @Josh-tu9ji
    @Josh-tu9ji 2 роки тому +2

    Thanks for going over the daily leetcode challenge

  • @fazilkagdi3290
    @fazilkagdi3290 2 роки тому +2

    Please never stop making these. I really like them.

  • @RN-jo8zt
    @RN-jo8zt 9 місяців тому

    why it's not working if i just flip the if cond
    i==0 || nums[i-1]

  • @sajalhsn13
    @sajalhsn13 2 роки тому +6

    How about this solution? find the length of non-decreasing subsequence in the array. if it is + 1 >= length of original array (which means we need to change atmost one element) then return true or false. complexity is (nlogn)

    • @fa11en1ce
      @fa11en1ce 2 роки тому +4

      Why pick a more inefficient solution?

    • @sajalhsn13
      @sajalhsn13 2 роки тому +1

      @@fa11en1ce nlogn is very close to n. also it is easy to think when you know the classical solution.

  • @sw6273
    @sw6273 2 роки тому +1

    Thank you so much for your videos! I'm an incoming cs major at Georgia Tech. I want an internship with a FAANG or hot startup company for summer 2023. I currently don't have any knowledge of data structures and algorithms. How long do you think it would take to be confident for interviews at such companies if I spent 10 hours every week learning and leet coding? If it helps to know, I'm doing The Odin Project, which I hope to finish before school starts in late August, and I also need to build 3~4 personal projects before I start preparing for these interviews.

  • @jaybijwe9371
    @jaybijwe9371 2 роки тому +2

    AWESOME 🍎

  • @varunshrivastava2706
    @varunshrivastava2706 2 роки тому +4

    My solution cleared 320 test cases out of 335. And I wasn't able to come up with a way to handle edge cases like [3,4,2,3]. It feels bad when you are this close!! Although good explanation!!!!!

    • @yashvirani8299
      @yashvirani8299 2 роки тому

      Same buddy 😂

    • @NOOBGamer-zt6jh
      @NOOBGamer-zt6jh 2 роки тому

      same dude and then I started thinking about 3 pointer and O(n^2) solution's xd

  • @reflectedillumination2610
    @reflectedillumination2610 2 роки тому +4

    Neighbour's lawn mower is becoming a frequent guest 😂 BTW great explanation as always 🙌

    • @NeetCode
      @NeetCode  2 роки тому +5

      I know, I was almost finished too 😭

  • @indianajones330
    @indianajones330 Рік тому

    please solve this problem 🙏 44. Wildcard Matching

  • @AdilKelawala
    @AdilKelawala Рік тому

    Why are we adding 3 in the begining of the array? Please, anyone can explain it to me.

  • @dhrumilparekh8554
    @dhrumilparekh8554 Рік тому

    try testing [4,2,1] with your code

  • @ethanwong2272
    @ethanwong2272 2 роки тому

    We sent the left pointer to go up and the right pointer to go down.
    Case 1: left == right -> true
    Case 2: right-left > 1 -> false
    Case 3: left + 1 == right
    if left == start point -> true
    if right == end point -> true
    if nums[left - 1]

  • @resetengineering
    @resetengineering Рік тому

    when we realise
    nums[i+1] >= nums[i] and nums [i-1]
    then why are we doing
    nums[i] = nums[i+1]
    Isn't this already non-decreasing in nature?

  • @volodymyr.kushnir
    @volodymyr.kushnir 2 роки тому

    Assuming you are writing code which potentially should be possible to handle same task with 2+ substitutions. In such case you rather should go for increasing right number. This way you don't need to re-check numbers on left side again and can proceed validating numbers on the right which are still not verified. So your alg will be smth like O(n) with modifying right number and O(n)*log with modifying left.

  • @rahatsshowcase8614
    @rahatsshowcase8614 Рік тому

    4 Lines JS code! After watching this video I discovered something deadlock 4 pattern! :
    var checkPossibility = function(nums) {
    let breakage = 0;
    for (let i = 0; i < nums.length; i++) {
    const num = nums[i]
    if (num < nums[i - 1])
    breakage++
    if (breakage > 1)
    return false
    if (nums[i - 1] > nums[i + 1] && num > nums[i + 2]) //[4,9,2,5] //deadlock 4 pattern
    return false
    }
    return true
    };

  • @raghavsharma5704
    @raghavsharma5704 6 місяців тому

    Thanks for such an easy explanation 🙌

  • @AvaSession7
    @AvaSession7 2 роки тому +1

    i love your channel neetcode. it’s been super helpful and i’ve made it to the final round at google in large part due to your help. thank you. do you think you’ll ever cover System Design questions?

    • @NeetCode
      @NeetCode  2 роки тому +3

      Yeah I've been wanting to do it for a while but been busy. I will definitely start by August tho!

    • @AvaSession7
      @AvaSession7 2 роки тому

      @@NeetCode Awesome! Looking forward to it. Thank you = )

  • @tt095
    @tt095 Рік тому

    I kind of get it. But can't see it clearly in my head

  • @adityavikramsingh4105
    @adityavikramsingh4105 2 роки тому

    Hey can you please do a video on leetcode problem: 968 (Binary Tree Cameras). It would be very helpful

  • @nischayagrawalVlogs
    @nischayagrawalVlogs Рік тому

    Bro I just love the way u explain things by considering various types of test cases. Mad Respect for your efforts. Seriously !

  • @shibosheng4205
    @shibosheng4205 2 роки тому

    Hey man you are so cool and the best coding teacher of all time. Could you also solve 797. All Paths From Source to Target some day. Thx

  • @piyushupadhyay8361
    @piyushupadhyay8361 2 роки тому

    hey bro please make a solution of problem leetcode 686 (repeated string match)

  • @krzysztofsobocinski2207
    @krzysztofsobocinski2207 2 роки тому

    You can do only the else part because all this function has to do is to check the possibility. It is not necessary to make array non-decreasing.

  • @Username-gu3un
    @Username-gu3un 2 роки тому

    Could this be optimized with binary search?

  • @xueweijiang746
    @xueweijiang746 Рік тому

    I'm glad that I solved this question on my own which I think is a result of following your channel. Even though the code that I wrote is a lot less elegant than yours but I'm glad that my thought is pretty much the same as yours and the time complexity is the same. Thank you for doing these videos!

  • @theodoregolob4191
    @theodoregolob4191 2 роки тому

    Thanks for the video and for sharing your solution!
    Question: Isn’t changing the state of an input for a method that is supposed to check its state bad practice?

  • @godza4735
    @godza4735 2 роки тому

    Can you solve some question about binary search trees?

  • @dixztube
    @dixztube Рік тому

    My goodness this was very wel explained

  • @sharathkumar8338
    @sharathkumar8338 2 роки тому

    Love you man thanks a lot for these videos. Even my friend didn't help me but you are doing it.

  • @patrickkurth697
    @patrickkurth697 2 роки тому

    Thanks for the videos. I have a much better understanding of programming because of videos like this. Could you explain why at 8:15 you need to do the for loop with the - 1? Is it because if we didn't we would have an extra for loop we would go through?

    • @alliswellbrochill9937
      @alliswellbrochill9937 2 роки тому +2

      Basically to avoid array index out of bound since we are using comparing the current element with next element

  • @mastermindful1051
    @mastermindful1051 2 роки тому

    thanks for the efforts. i'm curious, what tools are you using to make the videos? i love the online whiteboard/blackboard i think it might be pretty good to practice with one self

  • @datascience3008
    @datascience3008 Рік тому

    understood

  • @elvisgarcia1822
    @elvisgarcia1822 2 роки тому

    What is the program name that you use to draw ?

  • @rajatarora8105
    @rajatarora8105 2 роки тому

    Can you solve leetcode 328.

  • @kitgary
    @kitgary 2 роки тому

    好像很難, 不是很明白!

  • @amosluesun585
    @amosluesun585 2 роки тому

    your videos are extremely helpful to me!! thank you

  • @sushantjha1033
    @sushantjha1033 2 роки тому

    wht you are doing is amazing man! keep it up

  • @VijayPatel-ez4lp
    @VijayPatel-ez4lp Рік тому

    thanku so much

  • @zaqxswcdevfr40
    @zaqxswcdevfr40 2 роки тому

    Thanks!

  • @hantinglu8050
    @hantinglu8050 2 роки тому

    Thanks, nice explanations as usual!

  • @aditijain2448
    @aditijain2448 2 роки тому

    amazing!!!

  • @nickheyer
    @nickheyer 2 роки тому +1

    So well explained! I'm going to crush my Amazon interview because of you! I'll send you a postcard if it happens :D

  • @anthonyuccello1458
    @anthonyuccello1458 2 роки тому +2

    Shoutout to NeetCode for helping me get a much better job!

    • @NeetCode
      @NeetCode  2 роки тому +1

      Congratulations 🎉

  • @TechOnScreen
    @TechOnScreen 2 роки тому +1

    Java solution, much easier approach without even changing the input array.
    class Solution {
    public boolean checkPossibility(int[] nums) {

    boolean status=true;
    for(int i=1;i

  • @hAmIdUlHoQuE821
    @hAmIdUlHoQuE821 2 роки тому

    Will I get offer from google or any faang company? Pls, pls, pls say.
    My Career:
    Education : CSE 2nd Year (2022)
    Codejam rank: 523. (2021)
    2 yrs+ experience in data science, web development with django, software development using c#.
    Langs: c,c++,python,java,c#

    • @電腦騙徒剋星
      @電腦騙徒剋星 2 роки тому +3

      if you really rank top 500 in Google code jam you probably won't be so dumb to ask thos question