Best Explanation of Kadane's Algo I have ever seen. The most important thing that you explained the algo into two parts - 1. Find the greatest sum 2. Find the starting and ending indices of subarray containing the max sum
@tanmayagarwal85133 жыл бұрын
I love the way how innocently he teaches.
@DAVISBENNYMIS5 жыл бұрын
(2 Line solution ) :- int Kadane(int[] arr){ int localmax=arr[0]; int globalmax=arr[0]; for(int i=1;i
@ajayshukla72385 жыл бұрын
nice one
@premkumareaswaran68754 жыл бұрын
What's n here? If it is the length of the array, I get 22 for the above array that Vivekanand has used for the tutorial. Did you try using it before posting the 2-line answer?
@sandip_kanzariya84762 жыл бұрын
Superb solution ☺️😃 enjoy 🤠 Can you explain this solution ?
@jitendarsahani115 жыл бұрын
Bahut dino se struggle kr rha tha...lekin aaj samaj mei aa gaya. Thanx...
@armanmanukyan19703 жыл бұрын
After wandering in a lot of youtube channels, eventually I've found the best explanation here. Thanks.
@gautamtyagi88463 жыл бұрын
brilliant explanation! the big thing is he makes it much easier to understand. thanks a lot.
@mahesh_kndpl4 жыл бұрын
The way you explain is so clear. Thanks man.
@dascalucosmin61376 жыл бұрын
Thank you for explaining the Maximum Sum Subarray algorithm in such an easy way. You are really good teacher! Keep up the good work!!!
@singarajusureshkumar23302 жыл бұрын
one n only one best explaination of kadane's algo
@christmas_fox-marychristma28014 жыл бұрын
Thank you so much for posting this videos! You have such clear explanations!
@SunilKumar187 жыл бұрын
Great work man. Brilliant explanation. Please keep doing more videos. hope your channel grows.
@meherkhan9336 жыл бұрын
You are great Sir! You make so simple with your extraordinary explanation! Thank you very much!!!
@princekumarmaurya17633 жыл бұрын
Best vedio I have ever seen for this solution 👍👍👍👍👍👍
@vaishnavia.n.3123 жыл бұрын
the way u explain is crystal clear, thank nu so much @vivek.
@b.saisrinivas16363 жыл бұрын
Best explanation that i have seen for this algo
@AbhishekJain-pm2jn3 жыл бұрын
Thank you sir for explaining in such a easy way 🙏
@Mohitsingh-mk8vr2 жыл бұрын
best explanation of kadane algo
@rhimanshu62883 жыл бұрын
You made things understand easier
@Piggybacking2 жыл бұрын
Thank you so much ! your explanation is so helpful.
@LarryRuane7 жыл бұрын
Great explanation, I love it. One small simplification may be that max_so_far can be initialized to zero, rather than a[0]. Another advantage of making that change is that if the array is zero-length (size==0) you won't be accessing invalid memory.
@michaele57572 жыл бұрын
you can handle an empty array with a base case that checks for an empty array and simply returns (i.e. if (arr.length === 0) return). If you initialize max_so_far to 0, a test case of [-2] (or any negative number) will fail. I used [-2] as an example because that's the test case I failed on Leetcode lol
@SmartProgramming6 жыл бұрын
awesome explanation sir, very very helpful, thanks a lot for this tutorial 👍👍👍👍🙂🙂🙂🙂
@rahul-patil6 жыл бұрын
The second if condition is the core of this algo.
@sanketkumar15767 жыл бұрын
best explanation among all videos on this topic on youtube. thank you !
@vivekanandkhyade7 жыл бұрын
Thanks Sanket..!
@ravikishoretottaramudi12632 жыл бұрын
Very good explanation sir
@nikhilbhatt98235 жыл бұрын
I think for efficient subarray it should be **if(max_ending_here
@PramodKumar-rc9zy6 жыл бұрын
Nice explain sir before watching this video i was confused that what the meaning of this algo but now cleared thanks a lot sir
@chetanshrivastava37624 жыл бұрын
Nice explanation sir...You have great patience which is must for a programmer. Regarding this example,we can take a lesser size array to save time.
@anindita28165 жыл бұрын
Very good explanation. You're that favorite teacher kind of person! :)
@koreancaptain29555 жыл бұрын
han rat lo ise
@bharatprakashparakh96014 жыл бұрын
kzbin.info/www/bejne/o6DXfnt_jbKgsM0
@aryangarg90724 жыл бұрын
Good explanation
@prudhviprasad63863 жыл бұрын
Thnks sir it was very detailed explanation
@Dragondavid6 жыл бұрын
What if all elements are negative value? How do you dandle max_ending_here < 0 ? How would you track indices?
@komuravellyvenky5 жыл бұрын
Above algorithm will not work if all the elements are negative. Please refer : www.techiedelight.com/maximum-subarray-problem-kadanes-algorithm/
@tejeswarsahu24985 жыл бұрын
This info is very helpful...
@edwardcerverizzo73635 жыл бұрын
Solution is trivial. Return an empty array. Sum of all elements is zero (since there are no elements). 0 is strictly greater than any combination of negative numbers. You could create a subroutine to scan the array and return this result if this is the case. Total running time should be O(2n) which is still O(n).
@jogeswararaonynala15915 жыл бұрын
Then just take the element with with highest value in all negative numbers
@sharidass14084 жыл бұрын
@@komuravellyvenky this code also fails if array is [-1]
@prakashkumaran97675 жыл бұрын
Good work. Easy to learn. Thank you..
@manojbgm7 жыл бұрын
Nice Video. Well structured. Liked the way you simplified the solution in 2 parts. 1) find the max sum 2) look for index Nice work thank you.....
@vivekanandkhyade7 жыл бұрын
Thanks Manoj..!
@naveensharma50607 жыл бұрын
finally i got the video by which i have understood this concept very easily.
@mani8110 Жыл бұрын
thank you best explanation❤❤
@shivam_00026 жыл бұрын
Great Explanation, make some more videos. Thanks
@sailkargutkar19806 жыл бұрын
Best way to explain max sub array prob thanks
@rajatmishra35724 жыл бұрын
nice explanation!!
@LarryRuane7 жыл бұрын
One more observation ... What if the array consists entirely of negative values? This algorithm will report start and end both zero, which is a subarray of length 1. It seems like it may be better, in general, for the result to be reported as a start index and a length (rather than end index). Then the correct answer in this case (all elements negative) is start = zero (or really anything), length = zero. I implemented this here: codepad.org/irM2hs1b
@tapanjeetroy82665 жыл бұрын
Thanks a lot lot sir..you explain us so well
@Muthuvlog1042 жыл бұрын
Good explanatiin
@TanujMishra0777 жыл бұрын
Great work Sir. Nice explanation.
@vivekanandkhyade7 жыл бұрын
Thanks Tanuj.
@harshtulsyan98947 жыл бұрын
Nice Explanation sir... Please upload more videos on Dynamic Programming..!!
@shimpyasthana55615 жыл бұрын
Great work
@anshubansal20086 жыл бұрын
Great Explanation.
@somesbhowmick20825 жыл бұрын
Great , Great simply you explain I understand, keep doing it , I want learn more algorithm topic probmel
@Ankit135557 жыл бұрын
you are simple and great....plzz provide some good and tuff DP problems ...:)
@beholdpain5 жыл бұрын
Nice, Very Detailed!
@rajporu97 жыл бұрын
Vivek, the way you explain is crystal clear by giving examples. Keep up the good work. God Bless.
@swapnil8145 жыл бұрын
Thank you. You made tough problem, easy. :)
@muhammahanisuzzaman54934 жыл бұрын
Carry On...
@saurabhsharma85776 жыл бұрын
Nice Work, Thank you Sir
@Dyslexic_Neuron5 жыл бұрын
your understanding of the problem is Bad..... The way I see the problem is 3 cases : Life Hope and Death. We'll take 2 sum variables' : prev_sum and current_sum. Life is when we encounter only positive number: we will update prev_sum in this case Hope is when we encountered a negative number but that negative number has not made my current sum less than zero so there is still hope that some next number may repair the damage done by the negative number. : we will update prev_sum when current_sum > prev_sum Death is when the current sum becomes negative .....so now in this case we have re-initialize the starting point for calculating current sum Below is my smart : : code public static int findLargestSum(int a[]) { int end = 0; int current_sum = 0; int prev_sum = 0; while (end < a.length) { current_sum += a[end]; if (current_sum < 0) { // death case current_sum = 0; } if (current_sum > prev_sum) { prev_sum = current_sum; } end++; } return prev_sum;
@sagarsalunkhe64297 жыл бұрын
Thanks for explanation very well done
@vivekanandkhyade7 жыл бұрын
Thanks Sagar Bhau...!
@mordiabukarat39855 жыл бұрын
very helpful , thank you
@karthikd74604 жыл бұрын
After seeing this video, I feel your one of the LC problems god!!!
@mohit0001ish6 жыл бұрын
Very Well Explained :)
@argharoy65714 жыл бұрын
Sir you are awesome
@DhananjayTyagi245 жыл бұрын
Explained well!
@prateekkanujiya97755 жыл бұрын
Awesome 👍
@shobhitmittal777 жыл бұрын
Hi Vivekanan sirji, you are doing a great job.. I have watched some of your other videos too and must say they are simply awesome and to the point.. It will be even better if you could organize your uploaded videos into a playlist, it will direct the users to your other videos.... just a suggestion :)
@srinidhiii7 жыл бұрын
well said.it ll be great if a playlist is created topicwise.Your tutorial is awesome sir
@vivekanandkhyade7 жыл бұрын
Yes shobhit i will make it...! Thanks ....!
@vivekanandkhyade7 жыл бұрын
Yes srinidhi ...will make it..!
@bihanbanerjee3 жыл бұрын
thank you
@Sudhanshusable984 жыл бұрын
Thank you sir 🙏
@jakusam45646 жыл бұрын
sir thank you very much.i am from bangladesh.
@yunuskocatas38792 жыл бұрын
perfect explenentation
@MyLifeMyWorld086 жыл бұрын
Hello Sir, Can you please post video for solution of "maximum/minimum element from each sub-array of size 'k'" in O(n) ? Thanks in advance.
@tirnasircar29384 жыл бұрын
What will happen if there are no negative numbers in the array?
@edwardcerverizzo73635 жыл бұрын
I've seen this problem posted as a dynamic programming problem on Leetcode. I like this way better though. Is there any argument to do DP over this way?
@brijbhushanawasthi76797 жыл бұрын
Set the speed to 1.5, Thank me later:)
@RahulGuptarrg7 жыл бұрын
Thank u bro :)
@shobitshobit6 жыл бұрын
Thank u bro :)
@LV-ei1ce6 жыл бұрын
Lol ! Thank you bro :)
@stndwlf58625 жыл бұрын
Thank U Bro :)
@Rahulsingh-bu6jh5 жыл бұрын
i suggest 2.0x
@baibhavghimire38276 жыл бұрын
Nice one..Yes need to do like 1.5x or 2x..lol...But great presentation!!
@dorararo3 жыл бұрын
can we print the largest sub-array that was found , using Kadane algo?..we can get the end point of that sub-array but how do we get its starting point.
@niharikaepuri33057 жыл бұрын
Can you please make a video on Largest subarray with equal number of 0s and 1s with O(N) time complexity and also please make a video on Maximum Product Subarray?
@dharnisingh114 жыл бұрын
What if we do not have any negative number present in the array?
@superchillh3o7 жыл бұрын
excellent explanation, thank you sir
@vivekanandkhyade7 жыл бұрын
Thanks Alberto..!
@karanshah93104 жыл бұрын
Longest Palindrome in a string
@hirakmondal61744 жыл бұрын
faulty explanation.. will fail for sample case like [-2 5 -1] where the output of the maxsum with his logic is 3 but it should be 5 actually. *max_so_far* at the starting should be the maximum element of the array.
@manishgurawalia76254 жыл бұрын
No it will not fail here, will give 5 as the the max sum
@yunuskocatas38792 жыл бұрын
why we equalise the max ending here to zero on second if
@josephmorales6527 жыл бұрын
Thanks man!
@rushi9016 жыл бұрын
Any idea about how to convert the finding the start index and end index into 2 D array ?
@theuntoldtree3 жыл бұрын
Aap direct gfg ka solution mt daala kro plz
@ShivangiSingh-wc3gk6 жыл бұрын
Thank You
@Bakepichai7 жыл бұрын
Keep it up
@mahal96476 жыл бұрын
Thanks Vivek
@alokkumarsingh41184 жыл бұрын
Sir will the algorithm work if the maximum sum is negative?
@ASHISHSINGH-nj6es5 жыл бұрын
Algorithm tracing != Explaining
@laraibanwar16185 жыл бұрын
Thnx sir
@shivamvyas88994 жыл бұрын
Hello sir, can u make a video on Z algorithm for String search.
@shankysays3 жыл бұрын
If my array is -5 -4 -3-1 -2 will this algo work?
@ayonkar15347 жыл бұрын
What if all the elements in the array is set to 0?
@Hampirathna4 жыл бұрын
Sir plz explain dijkstras algorithm with snippet like this sir
@YogeshKumar-ye8nd7 жыл бұрын
if I will take only all elements negative except first then this code will not give the index of maximum subarray you can check it
@nupurchoudhary57076 жыл бұрын
thanks
@gokulnath5892 жыл бұрын
Wowo
@srinidhiii7 жыл бұрын
awesome
@modernsanskari43987 жыл бұрын
grt sir .But this question was asked in my interview but i was not aware of this algo.But i gave a brute force solution by using two loops O(n^2).Here in this algo it is taking linear time o(n). Can we make it to O(log n) by using divide and conquer approach?
@santhoshcts57 жыл бұрын
if the array is not sorted , we cannot do it in o(logn) . in other way , meaning only binary search will make time complexity of o(logn) and binary search will work only on sorted arrays .
@Alexc99xd6 жыл бұрын
You could divide and conquer in O(nlog(n)) recursively Find max on left, max on right, and find max that crosses the midpoint
@abhishekbisherwal68565 жыл бұрын
NO need to check whether the sum is less than zero or not else do check whether calculated sum is greater than added element or not ? and rest will be same .
@ghughal5 жыл бұрын
Will this algorithm work for an input array {5, -2, -1, 3, -4}. Just a second set of eyes to verify we get the result as maximum length of the subarray is 4. Please help!
@arbindsharma14233 жыл бұрын
sir how to approach the algo please teach that not as ratta mar study
@MrVazanth7 жыл бұрын
Hi Vivekanand, Please help me with video to print given matrix in diagonal order Thanks