Maximum Sum Subarray of size K | Sliding Window
Вставка
- Опубліковано 1 жов 2024
- Patreon Link: / adityaverma
Video Pdf Notes And Code: / 41937811
Playlist Link: • Sliding Window Algorit...
Problem Description: practice.geeks...
Given an array of integers Arr of size N and a number K. Return the maximum sum of a subarray of size K.
Example:
Input:
N = 4, K = 2
Arr = [100, 200, 300, 400]
Output:
700
Explanation:
Arr3 + Arr4 =700,
which is maximum. .
------------------------------------------------------------------------------------------
Here are some of the gears that I use almost everyday:
🖊️ : My Pen (Used in videos too): amzn.to/38fKSM1
👨🏻💻 : My Apple Macbook pro: amzn.to/3w8iZh6
💻 : My gaming laptop: amzn.to/3yjcn23
📱 : My Ipad: amzn.to/39yEMGS
✏️ : My Apple Pencil: amzn.to/3kMnKYf
🎧 : My Headphones: amzn.to/3kMOzM7
💺 : My Chair: amzn.to/385weqR
🛋 : My Table: amzn.to/3kMohtd
⏰ : My Clock: amzn.to/3slFUV3
🙋🏻♀️ : My girlfriend: amzn.to/3M6zLDK ¯\_(ツ)_/¯
PS: While having good gears help you perform efficiently, don’t get under the impression that they will make you successful without any hard work.
BHAI TREES AND GRAPHS! PLEASE START KARO!😔
+1
Graph series needed
+1
+1
khud se pdh le bhai easy hai. yaad krta hai kya aditya ki videos dekh k? :p
// Maximum Sum SubArray of size k
#include
using namespace std;
int maxsubarray(int *arr,int size,int k){
int i=0,j=0, sum=0;
int maxsum=INT_MIN;
while(jn>>k;
int *arr=new int[n];
for(int i=0;i>arr[i];
}
cout
bhai ye leetcode me TLE kyun de rha ?
What is this code bro..... it's wrong or Am I wrong... please let me know🙏🙏🙏
❤
@@asanitian6218Their require a change in code.
The max condition will come outside the else condition because if it is inside the else condition it will not store the sum forn first k elements
sum , maxsum ka data type long long kardo
aur while loop m size ki jagah arr.size() kardo
for C++;
Please come back
There is no one better than you when it comes to Interview Prep. Please make a playlist on graphs!!!
yessss bruh!!!!
Update
@@Yashkumar-fn1jw where?
Yes plz.
when I am financially stable i will defiantly support u on Patreon
Update?
@@itsmeakash_ now I am in Deutsche Bank 😅😅
@@tombrady7390 bro LinkedIn I'd bata do fir referral bhi de Dena if sahi Lage toh
@@tombrady7390 linked in?
@@daayush6654 update?
java code ->
static long maximumSumSubarray(int K, ArrayList Arr,int N){
// code here
int s = 0;
int e = 0;
long maxSum = Long.MIN_VALUE;
long sum = 0;
while(e < N)
{
sum=sum+Arr.get(e);
if(e - s + 1 == K)
{
maxSum = Math.max(sum,maxSum);
sum -= Arr.get(s);
s++;
e++;
}
else
{
e++;
}
}
return maxSum;
}
this code gives tle
JAVA CODE************
import java.util.Arrays;
import java.lang.*;
public class Main
{
public static int window(int[] arr, int k){
int i=0,j=0;
int maxcurr=0;
int maxsum=Integer.MIN_VALUE;
while(j
Same code as mentioned in the video:
while(j
isn,t is showing runtime error.
Nope it's working fine just for the last edge case described by him
@@a.srivas6741
if(N
@@a.srivas6741 Check for long range edge cases
long maxSum=0;
for(int i=0;i
#code in python:
class Solution:
def maximumSumSubarray(k,arr):
i=0
j=0
csum=0
maxi=0
while j
This is the most fun way to learn, glad I found you ! Amazing instructor, teaches like a bestfriend
#include
using namespace std;
int main()
{int t;
cin>>t;
while(t--)
{//max of subarray of size k
int n,k;
cin>>n>>k;//size of array and subarray
int a[n];
vectorv;
for(int i=0;i>a[i];
}
int i=0,j=0,sum=0;
while(j
love u bro ,this dumb havent provided the code
@@utkarshgautam1940 I think he provided the required explanation to arrive at the code. If you are unable to follow, you must reconsider the definition of dumb in your head.
@@utkarshgautam1940 Phle tolo,fir bolo....Watch some genius's lecture...not Dumb's lecture then.Have guts to arrive at code by yourself..kB tk spoonfeed krega tumhe koi.bro
@@soniamalik4929 when u revising this just before ur interview ,u make psedo code ,now u need to check then we need the code, that's what I mean
@@utkarshgautam1940 oh Utkarsh got your point now!!Good luck!!
a request to start graphs after it
bhai when will you going to upload new video , it almost been a month now
My solution in Java:
a. Using a while loop:
public static int findMaxSumSubArrayUsingWhile(int k, int[] arr) {
int maxSum = 0, windowStart = 0, windowEnd = 0, windowSum = 0;
while(windowEnd < arr.length) {
windowSum += arr[windowEnd];
if (windowEnd - windowStart + 1 >= k) {
maxSum = Math.max(maxSum, windowSum);
windowSum -= arr[windowStart];
windowStart++;
}
windowEnd++;
}
return maxSum;
}
b. Using a for loop:
public static int findMaxSumSubArrayUsing For(int k, int[] arr) {
int maxSum = 0, windowSum = 0;
int windowStart = 0;
for (int windowEnd=0; windowEnd < arr.length; windowEnd++) {
windowSum += arr[windowEnd];
if(windowEnd >= k-1) {
maxSum = Math.max(maxSum, windowSum);
windowSum -= arr[windowStart];
windowStart++;
}
}
return maxSum;
}
class Solution{
static long maximumSumSubarray(int K, ArrayList Arr,int N){
long sum = 0;
long max = Integer.MIN_VALUE;
int i = 0;
int j = 0;
while(j
genius logoin ka smjaane ka trika hi alag hota hai... u r genius. I search each question on youtube as question then space aditya verma
Thanks Aditya Verma for making these videos, I worked on this and DP playlist religiously for a month and got placed.
Wow that's great!! What is "this" you mean...sliding window?? And where did you get placed?
Bhai ek mahine ki padhayi se job miljaati hai?
BHAI TREES AND GRAPHS! PLEASE START KARO
@aditya verma
Baiyya you are awesome!!! 🔥
int main(){
int m, n;
cin>>m>>n;
vector a(m, 0);
a[n-1] = 1;
int sum=0;
int i=0, j=0;
while( j
alti palti :D :D You're the best UA-camr all around the world. Making teaching fun and easy. It clearly shows you have a great hold in DS and Algos. Please cover all the topics. Please share your knowledge, the way you are already doing. And I am sure, in no time you will be the greatest teacher of the competitive coding. We all are extremely grateful to you. Thanks a lot :)
Aditya bhai, lgta h aapke pyaar me gir gyi bhai 😂😂
@@Lifeisgood108-33 Aditya bhai lagta hay iske sath hee bhaag gaye youtube se :D 2 saal se gayeb hay banda
function subArrSumOptimized(arr,k){
let [start,end,maxSum,tempSum] = [0,0,0,0]
while(end
Agli video kab ayegi? Waiting eagerly 😭😭 please make videos on graphs
//MAX or MIN sum of subarray --> FIXED SLIDING WINDOW
#include
using namespace std;
//MAX SUBARRAY
int maxsum(int arr[], int n,int k){
int max_sum=INT_MIN;
for(int i=0;i
can you enable english subtitles for tamil people
i applied this tutorial code on gfg but it isnt accepting my code and showing wrong output while i test the same code in jupyter its working fine
during this one video of lecture i am distracted 10 times through ads
Here is the code of above explaination But it is not accepting for multiple test cases
Can anyone tell why?
int maximumSumSubarray(int K, vector &A , int N){
// code here
int i=0;
int j=0;
int sum=0;
int maxsum=INT_MIN;
while(j
long maximumSumSubarray(int k, vector &arr , int n){
// code here
long long int sum=0;
int j=0;
long long int maxsum=0;
int i=0;
while(j
long maximumSumSubarray(int K, vector &Arr , int N){
int i=0,j=0;
long ans=INT_MIN;
long sum=0;
while(j
is this question available on leetcode
This is the code for this video in C++
#include
using namespace std;
int main() {
vector v = {2, 5, 1, 8, 2, 9, 1};
// find the subarray of size 3 whose sum is maximum
int sum = 0, maxi = INT_MIN, k = 3;
int i = 0, j = 0;
while(j < v.size()) {
// if window size is not equal to k, then increase the window size
if (j - i + 1 < k) {
sum += v[j];
j++;
} else if (j - i + 1 == k) {
sum = sum + v[j];
maxi = max(maxi, sum);
sum = sum - v[i];
i++;
j++;
}
}
cout
Superb Explanation! Very much helpful to people who cannot afford to pay lakhs and thousands to different coaching institutes. Keep up the good work!
private static int maxSum2(int[] nums, int windowSize) {
int i=0;
int j=0;
int maxSum = 0;
int sum = 0;
while(j< nums.length){
sum += nums[j];
if((j - i + 1) < windowSize){
j++;
continue;
}else if((j - i + 1) == windowSize){
maxSum = Math.max(sum, maxSum);
}
sum = sum - nums[i];
i++;j++;
}
return maxSum;
}
class Solution {
maximumSumSubarray(K, Arr, N) {
//console.log(Arr)
let sum = 0;
let i=0;
let j=0;
let max = 0;
if(K>N){
return -1
}
while(j
Kya two pointer and sliding window same h
Bro working with geeks for geeks and all bookmarked questions I'm try ing to start by all Ur superb concepts thanks for the effort brother love from AP
C++ Code:
long maximumSumSubarray(int K, vector &Arr , int N){
// code here
long ans = INT_MIN;
long sum = 0;
int i=0,j=0;
while(j
leetcode 2461
using hashmap to remove duplicate elements
class Solution {
public:
long long maximumSubarraySum(vector& nums, int k) {
long long n=nums.size();
int i=0;
int j=0;
long long sum=0;
long long maxsum=0;
unordered_mapmp;
while(j
#SimplePython
Start=end=cnrtsum=maxsum=0
while(end
Java Solution:
-----------------------
public static int findMaxSum (int [] array, int k) {
int i =0, j = 0;
int max = 0, sum = 0;
while (j < array.length) {
sum = sum + array[j];
if (j-i+1
My Java Code -
public class MyClass {
public static void main(String args[]) {
int arr[]={1, 4, 2, 10, 23, 3, 1, 0, 20};
int k=4;
int i=0;
int j=0;
int sum=0;
int ans=Integer.MIN_VALUE;
int size=arr.length;
while(j
bhaiye in your video everything is fine but its video is too long
Apart from a class apart teaching, I love his subtle pop culture reference. At 16:37 he says "Humara ek e maksaat hai bhai ..*pauses*, badlaa nahi lena hai" ~ Gangs of Wasseypur. Like Netflix, I think we can binge watch Aditya's playlist anytime. Fun and learning is just his forte. @Aditya - A session on Trees and Graphs would be of great help I think. Thanks again for all the help !
was searching for this comment
@@anshmishra3066 worked so hard
long maximumSumSubarray(int k, vector &arr , int n){
// code here
long long int sum=0;
for(int i=0;i
5:50 Aaram se ghar baith ke bana sakta hai koi bhi banda 😂😂
Bhaiya aap ques ki hi baat kar rahe ho na? 😂
Main humesha i ko start rakhta hu, j ko end rakhta hu. Tumko maza aa raha hai tum alti palti maar lena :)
public class SlidingWindow {
public static void main(String[] args) {
System.out.print("inter array size n > ");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
System.out.println("enter arr values > ");
for(int i=0;i
Hi can you please set up some way to use Debit card on your patreon page or give any other site where your notes are accessible? I really want to pay but I do not have a credit card and paypal doesn't work
Small clean code under while loop:
while j
it's easy if we are using deque with fixed size.
'''
given an array find the max of sum of all subarrays of size k.
fixed size window problem.
'''
def slidingWindow(nums,k):
i, j = 0, 0
maxi = -float("inf")
currWindowSum = 0
while j
private static int solve(int[] arr, int k) {
int n = arr.length;
int i = 0, j = 0, max = Integer.MIN_VALUE, sum = 0;
while (j < n) {
sum += arr[j];
if (j - i + 1 == k) {
max = Math.max(max, sum);
sum -= arr[i];
i++;
}
j++;
}
return max;
}
shukriya and many thanks bro
Don’t think j-I+1 == k check is required. A simple check of j
Sliding window application 😄🔥
Great Explanation! Looking forward to learning Trees and Graphs! :)
Which software is used for the notes?
javascript solution :-
let array = [100,200,300,400]
let k = 2
function solve(array,k) {
debugger
let sum = 0
let max = 0
let i = 0
let j = 0
while (j < array.length) {
sum += array[j]
if(j - i + 1
5:55 " ghar baithe bana sakta hai " 😂😂
One simple way of code
First obtain the sum till window
For(int i=0;i
You can also go with
Int sum=0;
for (int i=0; i
// sliding window of size k
int i=0,j=0;
int sum=arr[0];
int maxsum=0;
while (j
Man where are you.
Thanks for such great tutorial
Please start doing UA-cam again
Slight correction use "continue"..
If(j-i+1
Once you recommended jenny's channel and yes i watch her daily.😎😂
Haan, Unka explanation bhi kaafi badiya hota hai
@@ansar2137really not only explanation everything lol
Is that even an explanation? That's Theory which looks nice only on end SEM college paper lol
@@bhavyamalviya8364 surely not but im talking about her she is cute
@@ashutoshkumardwivedi3949 Placement ka padh le bhai 😂 College professor hain Jenny mam.
Python3:
k = 3
A = [2, 3, 5, 2, 9, 7, 1]
n = len(A)
i = 0
j = 0
total = 0
maxSum = float('-inf')
while j < n:
total += A[j]
if j - i + 1 < k:
j += 1
elif j - i + 1 == k:
maxSum = max(maxSum, total)
total -= A[i]
i += 1
j += 1
print(f"Max Sum of {k} consecutive elements: {maxSum}")
Thanks
Bro can u provide all python programs pf remaining questions
Your explaination and clarity of concepts is awesome.
Here for understanding sliding window algorithm.Tysm.
Please keep uploading👌.
Bhaiya is making videos at 6AM in the morning. Some dedication!
Apun ka ek hee maksad hai "badla" nhi lena🤣
Bro explain combination of prefixsum , sliding window and binary search searching problems
Working code with all test cases running
let i = 0
let j = 0
let sum = 0
let max = -Infinity
while(j < arr.length){
if(j-i+1
aree bhai code dede or kitna kamayega
class Solution{
static long maximumSumSubarray(int K, ArrayList A,int N){
// code here
long k = 0;
long sum = 0;
long res = A.get(0);
for(int i = 0;i
Bayya upload videos regularly ....3 videos per week ...at least...
Thx bhaiya❤
you are very good instructor but beginners find very hard to understand , write code in proper manner
full code for this:-
#include
#include
using namespace std;
int main() {
int arr[7]={2,5,9,8,2,1,3};
int k;
cin>>k;
int i=0;
int j=0;
int sum =0;
int res=0;
while(j
my version of code it is slightly diff but serves the same purpose:
int n;
cin>>n;
vectorarr(n);
vectorprefix(n+1);
prefix[0]=0;
for(int i=0;i>arr[i];
prefix[i+1]=arr[i]+prefix[i];
}
int k;
cin>>k;
int sum=0;
int ans=0;
int j=k-1;
for(int i=0;i
Backtracking please
Please use youtube membership, not patreon. 🙏 In that way i can subscribe, i don't have PayPal or intl card. In youtube we can use google play balance
bhaiya plzzz start graph series 👏👏👏
Thanks a lot simple and effective way
code to solve : Maximum Sum Subarray of size K Leetcode
def maxiun(nums,k):
seen = set()
res = 0
curSum = 0
L = 0
for i in nums:
while seen and i in seen:
print(seen)
seen.remove(nums[L])
curSum -= nums[L]
L += 1
seen.add(i)
curSum += i
if len(seen) == k:
res = max(res,curSum)
seen.remove(nums[L])
curSum -= nums[L]
L += 1
return res
nums = [1,8,9,9,9,9,9]
k = 3
print(maxiun(nums,k))
___________________________________________________________________________________________
def maxiun(nums,k):
j = 0
sam = 0
maxi= 0
d = {}
print(d)
for i in range(len(nums)):
if nums[i] in d and d[nums[i]] >= j:
j = d[nums[i]] + 1
sam = 0
for x in range(j,i):
print(nums[x])
print(j,i)
sam += nums[x]
print(sam)
sam += nums[i]
d[nums[i]] = i
if i - j + 1 == k:
maxi = max(maxi,sam)
sam-=nums[j]
j += 1
return maxi
nums = [1,5,4,2,9,9,9]
k = 3
print(maxiun(nums,k))
Bhaiya sliding window ka 4th video apne private kr rakha h .... I m dying to learn more from you ❤️❤️❤️ please upload videos.
easy to understand code than aditya verma time O(n) space O(1)
long maximumSumSubarray(int k, vector &arr , int n){
long int maxSum=INT_MIN;
long int sum=0;
for(int i=0;i
class Solution{
static long maximumSumSubarray(int k, ArrayList nums,int n){
// code here
long sum = 0;
long res = 0;
int i=0;
for(i=0; i
this is the code just in case....
import java.util.*;
public class slidingwindow1 {
public static int maxsum(int arr[],int k)
{
int i=0;
int j=0;
int sum=0;
int max = Integer.MIN_VALUE;
while(j
java implementations :
// Sliding window main template
private static int maximumSubArraySum(int[] arr, int k) {
int sum = 0, i = 0, ans = 0;
int j = 0;
while (j < arr.length) {
sum += arr[j];
if (j - i + 1 < k) {
j++;
} else if (j - i + 1 == k) {
ans = Math.max(ans, sum);
sum -= arr[i];
i++;
j++;
}
}
return ans;
}
// Sliding window main template with slight changes
private static int maximumSubArraySum2(int[] arr, int k) {
int sum = 0, i = 0, ans = 0;
int j = 0;
while (j < arr.length) {
sum += arr[j];
if (j - i + 1 == k) {
ans = Math.max(ans, sum);
sum -= arr[i++];
}
j++;
}
return ans;
}
// compact template
private static int maximumSubArraySum3(int[] arr, int k) {
int sum = 0, i = 0, ans = 0;
for (int j = 0; j < arr.length; j++) {
sum += arr[j];
if (j - i + 1 == k) {
ans = Math.max(ans, sum);
sum -= arr[i++];
}
}
return ans;
}
int n=arr.size();
int start=0;
int end=0;
int sum=0;
int maxsum=0;
while(start
i tried similar question on leetcode with a slight differnce that u have to take sum of only unique numbers in subarray so i applied set to problem if anybody can correct this code that i did plz
class Solution {
public:
long long maximumSubarraySum(vector& nums, int k) {
int l=0,h=0;
int sum=0,maxo=0;
setss;
while(h
public class SlidinWindow {
public static void main(String[] args) {
// return or output the max sum of the subarray of size 3
int[] arr={5,3,6,8,9,1,2,3};
int i=0;
int k=3;
int j=0;
int sum=0;
int maxsum=0;
while(j
class Solution{
public:
long maximumSumSubarray(int K, vector &Arr , int N){
// code here
long long int sum=0;
long long int m=0;
for(int i=0;i
My Code:
#User function Template for python3
class Solution:
def maximumSumSubarray (self,K,Arr,N):
low, high = 0, K-1
maxSum = 0
for i in range(K):
maxSum += Arr[i]
subTotal = maxSum
while high < N-1:
high+=1
subTotal+=Arr[high]
subTotal-=Arr[low]
low+=1
if subTotal>maxSum:
maxSum = subTotal
return maxSum
for gfg in JAVA
class Solution{
static long maximumSumSubarray(int K, ArrayList Arr,int N){
// code here
int i = 0;
int j = 0;
long maxsum = 0;
long sum = 0;
while(j
c++ code
long maximumSumSubarray(int K, vector &Arr , int N){
// code here
int i=0,j=0;
long long sum=0;
long long mx=LLONG_MIN;
while(j
leetcode problem link ... can anyone tell what is problem number of this question in leetcode
public static int maxSubsequence(int[] nums, int k) {
int maxsum=0;
int prevsum=0;
int currsum=0;
for(int i=0;i
Your videos are inculcating interest inside me towards programming
static int findMaxSubArray(int a[], int k) {
int i = 0, j = 0;
int sum = 0;
int max = Integer.MIN_VALUE;
while (j < a.length) {
sum = sum + a[j];
if (j - i + 1 >= k) {
max = Math.max(sum, max);
sum = sum - a[i];
i++;
}
j++;
}
return max;
}
Code in C#
public long maximumSumSubarray(int K, List Arr , int N)
{
int i=0; int j=0;
long maxSum = 0;
long sum=0;
while(j
#include
using namespace std;
int main(){
int a[]={100,200,300,400};
int i=0,j=0,k,sum=0,len=sizeof(a)/sizeof(int),max=0;
coutk;
while (j-imax){
max=sum;
}
while(jmax){
max=sum;
}
}
cout
in c++ code is working for the example given in the description....😁😁😁😁
class Solution{
public:
long maximumSumSubarray(int K, vector &Arr , int N){
// code here
int i=0,j=0;
long long int sum=0,temp=0;
while(j
long maximumSumSubarray(int K, vector &Arr , int N){
// code here
int i=0;
int j=0;
long ans=INT_MIN;
long sum=0;
while (j K){
sum-=Arr[i];
i++;
if (j-i+1==K)
{
ans=max(ans,sum);
}
}
j++;
}
return ans;
}