Lexicographical Numbers - Leetcode 386 - Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 พ.ย. 2024

ความคิดเห็น • 41

  • @AdityaSingh-th7xu
    @AdityaSingh-th7xu หลายเดือนก่อน +7

    Great Explanation, Always crushed my doubts 😂, Keeping Neetcoding❤

  • @phillipwils
    @phillipwils หลายเดือนก่อน

    Excellent presentation as always.
    Thanks for showing the recursive and iterative solutions.
    By the way, I was reviewing the code by hand and I noticed that every
    number is visited 10 times instead of once for the recursive
    implementation. The time complexity is still linear.
    The recursive solution time complexity is
    Time: O(10*n) => 10 * O(n) => O(n)
    Verify with paper and code with n = 275
    def __init__(self):
    self.count = 0
    def dfs(start):
    self.count += 1
    ...
    print(self.count) # 2759)
    return result
    n=275
    dfs(1) res = [1,
    dfs(10) res = [1,10,
    dfs(100) res = [1,10,100,
    for [0..9]
    dfs(100), dfs(101), ... dfs(109)
    dfs(1000), dfs(1010),...dfs(1090)
    dfs(101) res = [1,10,100,101,

  • @Gojo-hl7iu
    @Gojo-hl7iu หลายเดือนก่อน +2

    Thank you sooo much for your daily uploads

  • @sriramgugulothu4195
    @sriramgugulothu4195 หลายเดือนก่อน +1

    Very clear explanation.

  • @souriksharma
    @souriksharma หลายเดือนก่อน +1

    I tried doing it with string for simplicity but.........yeah it exceeded the time limit and when I ran in in my IDE it took wooping 32.3 sec to sort 14959 in lexicographical order.

  • @floman3158
    @floman3158 หลายเดือนก่อน +2

    Something about recursive functions is annoying me so much that I always try to avoid those solutions.

    • @leeroymlg4692
      @leeroymlg4692 หลายเดือนก่อน

      you should learn it. some problems are overly complicated without recursion. like binary tree

  • @MP-ny3ep
    @MP-ny3ep หลายเดือนก่อน

    Great explanation as always. Thank you !

  • @ngoquangtrung234
    @ngoquangtrung234 หลายเดือนก่อน

    Great explaination.

  • @satyamjha68
    @satyamjha68 หลายเดือนก่อน +18

    Solved it using Trie !

    • @RIPNANI
      @RIPNANI หลายเดือนก่อน +3

      Bro look at the follow ups

    • @satyamjha68
      @satyamjha68 หลายเดือนก่อน

      @@RIPNANI Ya I know that ! Its just that this approach came to my mind first!

    • @deepakjain4481
      @deepakjain4481 หลายเดือนก่อน

      @@satyamjha68 how to solve it using that

    • @RIPNANI
      @RIPNANI หลายเดือนก่อน

      @@satyamjha68 k

  • @_sf_editz1870
    @_sf_editz1870 หลายเดือนก่อน

    Just like everyday nice and smooth

  • @ap2s2000
    @ap2s2000 หลายเดือนก่อน +1

    I love you neet

  • @abdalmlck4498
    @abdalmlck4498 หลายเดือนก่อน

    but how SC is 1 ? you did save it in the res ?

  • @VanjeAv
    @VanjeAv หลายเดือนก่อน

    Amazing thanks

  • @jamescraft5300
    @jamescraft5300 หลายเดือนก่อน +1

    hello!

  • @GullemClydeCyrilS
    @GullemClydeCyrilS หลายเดือนก่อน

    awesome!

  • @maanas_sehgal
    @maanas_sehgal หลายเดือนก่อน

    Hey I need suggestions!
    So I am 1526 rated on Leetcode rn and I was planning to start with neetcode sheet. Should I pursue 150 or 580 first? I mean 580 has all the types of problems but will take long. 150 has important ones😅

    • @neks2081
      @neks2081 หลายเดือนก่อน

      dont do 580, solve 150 and then do questions by topics you suck at

    • @maanas_sehgal
      @maanas_sehgal หลายเดือนก่อน

      @@neks2081 k

  • @albin_joby
    @albin_joby หลายเดือนก่อน +1

    res = []
    def check(num):
    for i in range(0,10):
    val = num*10+i
    if val

    • @Sarojkumar-yh9uy
      @Sarojkumar-yh9uy หลายเดือนก่อน

      res = []
      def check(num):
      for i in range(0,10):
      val = num*10+i
      if val

    • @deepakjain4481
      @deepakjain4481 หลายเดือนก่อน

      i tried it but i think it does not work

  • @tauicsicsics
    @tauicsicsics หลายเดือนก่อน

    Can you please do Basic Calculator 1 and 2? TBH all Top Leetcode 150 interview questions would be great, thanks.

  • @mcbotface
    @mcbotface หลายเดือนก่อน

    Why do you make easy problems complicated?
    lst = [i for i in range(1,n+1)]
    return sorted(lst, key=lambda x:str(x))
    This solution had 59ms runtime and runtime was better than 96.89% solutions.

    • @NeetCodeIO
      @NeetCodeIO  หลายเดือนก่อน +5

      Try to compare the time complexity of your solution with mine. Maybe you will figure it out. Maybe not.

    • @mcbotface
      @mcbotface หลายเดือนก่อน +1

      @@NeetCodeIO Yeah my solution has TC of O(NlogN) while yours has O(N)

    • @gmh14
      @gmh14 หลายเดือนก่อน

      @@mcbotface ????? the question states TC should be O(n)

    • @mcbotface
      @mcbotface หลายเดือนก่อน

      @@NeetCodeIO You were right.
      I get "memory limit exceeded" for today's POTD using yesterday's approach
      return sorted([i for i in range(1,n+1)], key=lambda x:str(x))[k-1]

    • @mcbotface
      @mcbotface หลายเดือนก่อน

      @@gmh14 No I guess. That's why my solution was accepted. Although the TC was O(NlogN)

  • @100nitishyadav8
    @100nitishyadav8 หลายเดือนก่อน +3

    why people using dfs in this, i just made a list from 1 to n the custom sorted it using comparator by converting into string is that bad solution ?

    • @homelander.lover9114
      @homelander.lover9114 หลายเดือนก่อน +5

      Constraint I O(n), sorting is n logn

    • @33galactus
      @33galactus หลายเดือนก่อน

      @@homelander.lover9114 Exactly, your solution is simple but O(nlogn) time and O(n) space complexity make it sub-optimal.

    • @mohammedsuhail.s192
      @mohammedsuhail.s192 หลายเดือนก่อน

      i think it was not a bad solution but the contraint should play in the problem because they want to be space complexity should be O(1) so we dont create any extra space for that it is my intuation

    • @sriramgugulothu4195
      @sriramgugulothu4195 หลายเดือนก่อน

      There is a constraint of running algorithm in O(n). Sorting takes more than O(n).

  • @austinmclaughlin8407
    @austinmclaughlin8407 หลายเดือนก่อน

    You're the modern day Gayle Laakmann McDowell