Minimum Falling Path Sum II - Leetcode 1289 - Python

  Рет қаралды 9,240

NeetCodeIO

NeetCodeIO

Күн бұрын

Пікірлер: 31
@pratikpatel2512
@pratikpatel2512 7 ай бұрын
A simple and more neat code: class Solution: def minFallingPathSum(self, grid: List[List[int]]) -> int: N = len(grid) def get_min_two(r): min1, min2 = float('inf'), float('inf') min1_idx, min2_idx = -1, -1 for c in range(N): if grid[r][c]
@samridhshubham8109
@samridhshubham8109 6 ай бұрын
NEAT!!
@udemezueiloabachie8626
@udemezueiloabachie8626 6 ай бұрын
This is the neatest solution in 6 lines: class Solution: def minFallingPathSum(self, grid: List[List[int]]) -> int: size = len(grid) for r in range(size - 2, -1, -1): for c in range(size): grid[r][c] = grid[r][c] + min(grid[r + 1][:c] + grid[r + 1][c + 1:]) return min(grid[0])
@bhuvan9956
@bhuvan9956 7 ай бұрын
Love the longer videos. Basically helps me to see the entire picture. Please keep it going. Love you!
@corrogist692
@corrogist692 7 ай бұрын
I used basically the same approach, but modified the grid in place top-down. Seems even less code and easier to understand!
@kahafb
@kahafb 7 ай бұрын
Funny in-place solution class Solution: def minFallingPathSum(self, grid: List[List[int]]) -> int: n = len(grid) def helper(i): first, second, idx = inf, inf, None for j, val in enumerate(grid[i]): if val < first: second = first first = val idx = j elif val < second: second = val return (first, second, idx) for i in range(n-2, -1, -1): first, second, idx = helper(i+1) for j in range(n): if j != idx: grid[i][j] += first else: grid[i][j] += second return min(grid[0])
@business_central
@business_central 7 ай бұрын
Dude... you are such a Hero! 🔥🔥🔥🔥
@tawfikkoptan5781
@tawfikkoptan5781 7 ай бұрын
This is the first 30+ minute video om a problem I've seen you make 😂😂😂
@dampdigits
@dampdigits 7 ай бұрын
Yes this is easier than the previous one. At least when it comes to being naive about time complexity.
@MP-ny3ep
@MP-ny3ep 7 ай бұрын
Thank you so much. Been waiting for this one.
@advaitdongre4499
@advaitdongre4499 7 ай бұрын
but at line 26, we're using the helper function right? what is the time complexity gets to bigO(n^3)? since the function is already using a for loop and then we're using it inside 2 for loops?
@meemee417
@meemee417 7 ай бұрын
Did the same thing but with heap to get min 2 nums and their indices without using a helper function
@aashishbathe
@aashishbathe 6 ай бұрын
I am seeing this entire video after a long time, if anyone wants a more code optimized solution for last method, here it is :) class Solution: def minFallingPathSum(self, grid: List[List[int]]) -> int: def find_smallest(row): smallest = [] for idx, num in enumerate(row): if len(smallest) < 2: smallest.append((num, idx)) elif smallest[1][0] > num: smallest.pop() smallest.append((num, idx)) smallest.sort() return smallest N = len(grid) dp = find_smallest(grid[0]) for r in range(1, N): new_dp = [] new_row = grid[r] for next_c in range(N): if next_c == dp[0][1]: new_row[next_c] += dp[1][0] else: new_row[next_c] += dp[0][0] new_dp = find_smallest(new_row) dp = new_dp return dp[0][0]
@pastori2672
@pastori2672 7 ай бұрын
idk what it is but this is much easier then minimum height trees imo
@kebab4640
@kebab4640 7 ай бұрын
Thanks sir!
@satyamjha68
@satyamjha68 7 ай бұрын
Solved it!!
@akialter
@akialter 7 ай бұрын
DP week
@chien-yuyeh9386
@chien-yuyeh9386 7 ай бұрын
Nice🎉🎉
@ik6071
@ik6071 7 ай бұрын
why use tuple? and not a dict to store element-> idx for two minimum pairs?
@michael._.
@michael._. 7 ай бұрын
in the last solution, doesn't the line: `first_row = [(val, idx) for idx, val in enumerate(grid[0])]` require $O(n)$ space complexity?
@NeetCodeIO
@NeetCodeIO 7 ай бұрын
Shit you're right
@michael._.
@michael._. 7 ай бұрын
@@NeetCodeIO i always wanted to tell you, it’s not just about solutions, but I always learned how to explain a problem comprehensively from your videos and it helped me so much, thank you :>
@AkshayAnil0-1
@AkshayAnil0-1 6 ай бұрын
Yes
@nikhil199029
@nikhil199029 7 ай бұрын
U impemented priority queue with size 2.
@chaitanyasharma6270
@chaitanyasharma6270 7 ай бұрын
I dont get TLE with the caching solution in java
@TF2Shows
@TF2Shows 7 ай бұрын
Can someone help? (WARNING: solution incoming, don't read if you haven't solved it yet) I'm using the O(n^2) runtime and O(1) memory solution, in which in find 1st and 2nd minimum in each row. I wrote my implementation but got stuck in test case 9: [-37, 51, -36, 34, -22], [82, 4, 30, 14, 38], [-68, -52, -92, 65, -85], [-49, -3, -77, 8, -19], [-60, -71, -21, -62, -73] The greedy path is: -37, 4, -92, -49, -73 for a total of -247. But the test case expected answer is: -268 which is the path: -37, 4, -85, -77, -73. Can someone explain why the greedy solution, which should work, doesn't work in this case? Why im the only one that fails this test case?
@kebab4640
@kebab4640 7 ай бұрын
Finally lol
@leedinglin7482
@leedinglin7482 7 ай бұрын
flfc
@carrotiq6879
@carrotiq6879 7 ай бұрын
pls don't do TOP DOWN solution, By watching your videos I have train my brain to first think of Bottom-up solution, and it has become a habit. So continue with good old Bottom-up
@hasrat17
@hasrat17 7 ай бұрын
Thanks, Can you give me referrel? I am actively looking for a Job last year I completed my degree and joined HCLTech but I didn't like working there so I resigned this month.
Freedom Trail - Leetcode 514 - Python
25:18
NeetCodeIO
Рет қаралды 14 М.
K Inverse Pairs Array - Leetcode 629 - Python
29:44
NeetCodeIO
Рет қаралды 16 М.
Accompanying my daughter to practice dance is so annoying #funny #cute#comedy
00:17
Funny daughter's daily life
Рет қаралды 20 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 185 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 23 МЛН
Minimum Falling Path Sum - Leetcode 931 - Python
14:02
NeetCodeIO
Рет қаралды 14 М.
Longest Ideal Subsequence - Leetcode 2370 - Python
28:02
NeetCodeIO
Рет қаралды 12 М.
Become a Malloc() Pro
6:58
thedoubleeguy
Рет қаралды 3,4 М.
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
Dynamic Programming isn't too hard. You just don't know what it is.
22:31
DecodingIntuition
Рет қаралды 199 М.
TCP/IP for Programmers
3:03:31
Eli the Computer Guy
Рет қаралды 229 М.
Premature Optimization
12:39
CodeAesthetic
Рет қаралды 835 М.
Fast Inverse Square Root - A Quake III Algorithm
20:08
Nemean
Рет қаралды 5 МЛН