@CodingWithJohn

Thanks to Mailgun for sponsoring this video! Head to https://mailgun.com/john to try Mailgun free today.
Looking forward to seeing how you guys make this solution even better!

@playtopgames3261

Best java chanel on YouTube

@vijal-patel

please keep doing these, your explanations are so much more in depth than other youtube channels

@nahomg6945

You genuinely have one of the best programming explanation videos on this site, honestly. Funny, I was discussing learning about the Sliding Window algorithm to practice Leetcode questions with a friend yesterday, and lo and behold you've uploaded a great explanation literally 24hrs later, legendary! Could you please upload more Leetcode explanation questions? If not on Youtube, perhaps a course?

@jayshreebargohil

I had just solved this problem and found this video. You explained each solution and your approach in the best way. Your way to explaining make things crystal clear John !!

@thomas_m3092

John, you are a wizard. Everythings looks so logical and simple. Please make more videos like this.

@claytonalmeida6046

Would love to watch a complete java dsa course from you

@yashshah2775

The way you walked through the solution was like i have never seen anywhere. Most youtubers just jump to the optimal solution. please do more of these! I went to your channel hoping to find a video series of Blind 75. but wasn't there. Please do a playlist of Blind 75. I bet people would love to see those.

@tund_101_hd9

This is probably one of the best tutorials out there and i think YouTube is with me in this.❤️ I could you not, even though I have watched it already it is every time the first video in my recommended 😂
Guess I'll watch it twice. Keep up the good work!

@minakianrad812

An excellent in-depth explanation of two approaches to solving this problem. Thank you very much, John.

@MTB_Bay_Area

For the brute force solution. I suggest checking if the max need to be updated in the "if contains part" that makes sure that we only do it right before we break. It is one time per substring. We fount a substring, now, let's check if it is better than the other we had so far. Second, I will suggest using HashSet instead of StringBuilder. HashSet has contains method and it is faster.

@elizabeth00653

John I love your Java explanations, can you please add more leetcode to your channel or bootcamp? I would love to see more Java leetcode solution guides properly explained

@SimanAndGarfunkel

I love the final thoughts on the differences of performance between the 2 last algorithms, answered all the questions I had to myself. Thnak you!

@Michaelpschreib

I appreciate that you go into the brute force solution and also the more clever solution. Thanks for these!!

@whiz-code

You are really a coding geek. Even the concepts known, still visit them and keep something. Your explanations are far reaching. Thank you.

@yasasmaddumage

I love this series. Thank you...

@blairliu9058

More leetcode videos plzzz! love this series.

@rushio8673

Great job, please keep posting the leetcode solution videos in structural manner(for eg top 50 that includes most practices/datastructures) , this helps a lot in preparing for interviews.

@ronakpatel8441

Hey John, I love all of your videos. Learning so many important skills. However, I have one suggestion, If you could make more of this type of problem-solving videos then it would be very helpful to the viewers as it will teach new programmers how to think of a solution to the given problem and how can we actually implement the solution using the programming language. 

By the way thanks again for all efforts that you put in to make this possible.

Looking forward to seeing more problem-solving videos. Have a wonderful day.

@lanatimmo3686

It's great! Please, do more Leetcode Exercise explanations!🙏