(18). 8.6 SUBARRAYS CHALLENGES (Questions asked by top MNC's) - anishsingh90/Data_Structure_And_Algorithm_In_Cpp_github.io GitHub Wiki

//SUBARRAY QUESTION #include using namespace std;

int main(){ int n; cout << "Enter the size of array: "; cin >> n;

int arr[n];
for(int i=0; i<n; i++){
	cin >> arr[i];
}

for(int i=0; i<n; i++){
	for(int j=i; j<n; j++){
		for(int k=i; k<=j; k++){
			cout << arr[k] << " ";
		}
		cout << endl;
	}
}
return 0;

}

/* OUTPUT: Enter the size of array: 4 1 4 2 7 1 1 4 1 4 2 1 4 2 7 4 4 2 4 2 7 2 2 7 7 */

//MAXIMUM SUBARRAY SUM #include #include using namespace std;

int main(){ int n; cout << "Enter the size of array: "; cin >> n;

int arr[n];
for(int i=0; i<n; i++){
	cin >> arr[i];
}

int maxSum = INT_MIN;
for(int i=0; i<n; i++){
	for(int j=i; j<n; j++){
		int sum=0;
		for(int k=i; k<=j; k++){
			sum += arr[k];
		}
		maxSum = max(maxSum,sum);
	}
}
cout <<"maxSum of subarray: "<<maxSum << endl;
return 0;

}

/* OUTPUT: Enter the size of array: 4 -1 4 7 2 maxSum of subarray: 13 */

//MAXIMUM SUBARRAY BY COMULATIVE APPROACH #include #include using namespace std;

int main(){ int n; cout << "Enter the size of array: "; cin >> n;

int arr[n];
for(int i=0; i<n; i++){
	cin >> arr[i];
}

int currsum[n+1];
currsum[0]=0;

for(int i=1; i<n; i++){
currsum[i] = currsum[i-1] + arr[i-1];
}

int maxSum =INT_MIN;
for(int i=1; i<n; i++){
	int sum = 0;
	for(int j=0; j<i; j++){
		sum = currsum[i] - currsum[j];
		maxSum = max(sum, maxSum);
	}
}
	cout <<"maxSum: " <<maxSum;
return 0;

}

/* OUTPUT: Enter the size of array: 4 -1 4 2 7 maxSum: 6 */

//KADANE'S ALGORITHM #include #include using namespace std;

int main(){ int n; cout << "Enter the size of array: "; cin >> n;

int arr[n];
for(int i=0; i<=n; i++){
	cin >> arr[i];
}

int currentSum = 0;
int maxSum = INT_MIN;
	
for(int i=0; i<=n; i++){
	currentSum = arr[i];
	if(currentSum<0){
		currentSum = 0;
	}
	maxSum = max(maxSum,currentSum);
}

cout << "maxSum : " << maxSum << endl; return 0; }

/* OUTPUT: Enter the size of array: 5 -1 4 -5 7 3 2 maxSum : 7 */

//MAXIMUM CIRCULAR SUBARRAY SUM #include using namespace std;

int kadane(int arr[] , int n){ int currentsum = 0; int maxsum = INT_MIN; for(int i=0; i<n; i++){ currentsum += arr[i]; if(currentsum < 0){ currentsum = 0; } maxsum = max(maxsum,currentsum); } return maxsum; }

int main(){ int n; cout << "Enter the size of array: "; cin >> n;

int arr[n];
for(int i=0; i<n; i++){
	cin >> arr[i];
}

int wrapsum;
int nonwrapsum;

nonwrapsum = kadane(arr,n);
int totalsum=0;
for(int i=0; i<n; i++){
	totalsum += arr[i];
	arr[i] =-arr[i];
}

wrapsum = totalsum + kadane(arr,n);

cout <<"maximum circular subarray: "<<max(wrapsum,nonwrapsum) << endl;

return 0;

}

/* OUTPUT: Enter the size of array: 7 4 -4 6 -6 10 -11 12 maximum circular subarray: 22 */

//PAIR SUM PROBLEM #include using namespace std;

bool pairsum(int arr[] , int n , int k){ for(int i=0; i<n-1; i++){ for(int j=i+1; j<n; j++){ if(arr[i] + arr[j]==k){ cout << i << " " << j << endl; return true; } } } return false; }

int main(){ int arr[] = {2,4,7,11,14,16,20,21}; int k=31; cout << pairsum(arr,8,k) <<" "; return 0; }

/* OUTPUT: 3 6 1 */

⚠️ **GitHub.com Fallback** ⚠️