Product of Array Except Self - Leetcode 238 - Arrays & Strings (Python)

Sdílet
Vložit
  • čas přidán 8. 01. 2024
  • Master Data Structures & Algorithms for FREE at AlgoMap.io/
    Code solutions in Python, Java, C++ and JS for this can be found at my GitHub repo here: github.com/gahogg/Leetcode-So...
    Complete DSA Pathway Zero to Hero: • Data Structures & Algo...
    Please check my playlists for free DSA problem solutions:
    • Fundamental DSA Theory
    • Array & String Questions
    • 2 Pointers Questions
    • Sliding Window Questions
    • Binary Search Questions
    • Stack Questions
    • Linked List Questions
    • Tree Questions
    • Heap Questions
    • Recursive Backtracking...
    • Graph Questions
    • Dynamic Programming (D...
    My Data Science & ML CZcams Playlist: • Greg's Path to Become ...
    Learn Python and Data Science FASTER at mlnow.ai :)
    Support the content: / @greghogg
    Follow me on Instagram: / greghogg5
    Connect with me on LinkedIn: / greghogg
    Follow me on TikTok: / greghogg5
    Coursera Plus: imp.i384100.net/P0E3J6
    My Favorite Courses:
    Data Structures & Algorithms:
    - UCalifornia San Diego DSA: imp.i384100.net/LP31oV
    - Stanford Algorithms: imp.i384100.net/vNBoxd
    - Python Data Structures: imp.i384100.net/NkZn47
    - Meta Coding Interview Prep: imp.i384100.net/Y96rBJ
    Python:
    - UMichigan Python for Everybody: imp.i384100.net/QOLM73
    - Python Mastery from MLNOW.ai: mlnow.ai/course-material/python/
    - Google IT Automation w/ Python: imp.i384100.net/5g6Xyj
    Web Dev / Full Stack:
    - Meta Front-End Developer: imp.i384100.net/q4Jemy
    - IBM Full Stack Developer: imp.i384100.net/Gj9dMn
    - Meta Back-End Developer: imp.i384100.net/xkW0r5
    - John Hopkins HTML, CSS & JS: imp.i384100.net/QyoRAA
    - IBM DevOps: imp.i384100.net/kjd2r0
    Cloud Development:
    - AWS Fundamentals: imp.i384100.net/anqBjZ
    - GCP Cloud Engineer: imp.i384100.net/g1jvqB
    - Microsoft Azure Fundamentals: imp.i384100.net/EKm5O4
    Game Development:
    - Michigan State Unity Development: imp.i384100.net/6eOBnr
    - UColorado C++ for Unreal Engine: www.coursera.org/specializati...
    SQL & Data Science:
    - SQL by MLNOW.ai: mlnow.ai/course-material/sql/
    - Python for Data Science by MLNOW.ai: mlnow.ai/course-material/data...
    - Google Data Analytics: imp.i384100.net/1rkWAR
    - IBM Data Science: imp.i384100.net/P0ZRL6
    - IBM Data Engineer: imp.i384100.net/4PbZyZ
    Machine Learning & AI:
    - ML Mastery at MLNOW.ai: mlnow.ai/course-material/ml/
    - ML w/ Andrew Ng: www.coursera.org/specializati...
    - Deep Learning w/ Andrew Ng: imp.i384100.net/a1kjJj

Komentáře • 17

  • @GregHogg
    @GregHogg  Před 3 dny

    Master Data Structures & Algorithms For FREE at AlgoMap.io!

  • @shreehari2589
    @shreehari2589 Před 4 měsíci +2

    The way you explain stuff is awesome, keep up the good work and please also upload hard questions too

  • @aimaalakhume
    @aimaalakhume Před 6 měsíci +2

    Thanks, I love this solution! It was really easy to follow and I appreciate the concise code. I also never knew the zip() function existed

  • @arsheyajain7055
    @arsheyajain7055 Před 5 měsíci +2

    Literally the only video that helped!!! Thank you

    • @GregHogg
      @GregHogg  Před 5 měsíci +1

      Glad to hear it 😎

  • @annas8308
    @annas8308 Před 3 měsíci +2

    Hi Greg! What is the app you use to draw and teach us? I find it very easy to use and would like to take notes while viewing your videos.

    • @GregHogg
      @GregHogg  Před 3 měsíci +1

      I use miro! It's really good for drawing:)

    • @annas8308
      @annas8308 Před 3 měsíci

      @@GregHogg Thank you, Greg!

  • @jarodlatta6185
    @jarodlatta6185 Před 4 měsíci

    I think you could get a constant time and space improvement by doing two passes through the array: first construct the product of all elements (unless they're 0), then iterate through again and divide the total by the current element. You do have go handle for 0s as a special case though, which might make it just as complex

    • @kiattim2100
      @kiattim2100 Před 3 měsíci

      You can't use division. That's the rule in leetcode 238

    • @jarodlatta6185
      @jarodlatta6185 Před 3 měsíci

      @@kiattim2100 ah okay, that makes sense

  • @SpaceTalon
    @SpaceTalon Před 6 měsíci +2

    Thanks!

  • @Sanjay-bx6xb
    @Sanjay-bx6xb Před měsícem +1

    bro how do you come up with this logic

    • @GregHogg
      @GregHogg  Před měsícem +1

      Sometimes I might have figured it out, sometimes I might have just learned it elsewhere.

  • @arshiailaty
    @arshiailaty Před 6 měsíci

    Could you please let me know what you think of this solution? I should mention that there is a problem in the output when we have only one zero in numbers. The second if returns an array with all zeros.
    import numpy
    class Solution:
    def productExceptSelf(self, nums: List[int]) -> List[int]:
    ans = []
    ind = numpy.where(nums == 0)[0]
    if len(ind) > 1:
    return [0]*len(ind)
    if len(ind) == 1:
    i = ind[0]
    res = numpy.prod(nums[:i]) * numpy.prod(nums[i+1:])
    ans = [0]*len(nums)
    ans[i] = res
    return ans
    product = numpy.prod(nums)
    ans = [product // num for num in nums]
    return ans

    • @rishishah835
      @rishishah835 Před měsícem

      What's the need to import numpy, the product function? Also, we're not allowed to use division, otherwise we could just iterate once -- get the total product, and then iterate through just dividing by each value in nums (unless 0)