Given an array of sizes n and we need to find the maximum and minimum number present in the given array.
Example:
Input: arr[] = {12, 9, 2, 7, 3, 10} Output:
Maximum: 12
Minimum: 2 Input: arr[] = {5, 9, -2, 23, 7, 10} Output:
Maximum: 23
Minimum: -2
Approach 1: Brute Force approach.
In this approach, we traverse the entire array and pick each element one by one to compare the smallest and largest element.
Following steps to solve the problem:
1. Declare two variables max_value and min_value and initialize max_value with 2. INT_MIN and min_value with INT_MAX.
3. Traverse the array and
- Update the value of max_value if you found any value greater than the current max_value.
- Update the value of min_value if you found any value greater than the current min_value.
4. Print maximum and minimum values.
Below is the C++ code Implementation:
//C++ code to find the maximum and minimum value of an array #include<iostream> using namespace std; //function to print maximum and minimum value void largeSmall(int arr[], int n){ int max_value = INT_MIN; int min_value = INT_MAX; for(int i = 0; i < n; i++){ //checking max value if(arr[i] > max_value) max_value = arr[i]; //checking min value if(arr[i] < min_value) min_value = arr[i]; } cout<<"Maximum: "<<max_value<<endl; cout<<"Minimum: "<<min_value<<endl; } int main(){ int arr[] = {12, 9, -2, 7, 3, 10}; //size of the given array int n = sizeof(arr)/sizeof(arr[0]); //function call largeSmall(arr, n); return 0; }
Maximum: 12 Minimum: -2
- Time Complexity: O(n)
- Space Complexity: O(1)
Approach 2: Using Recursion.
if(n == 1)return arr[0]
Below is the C++ code Implementation:
//C++ Recursive code to find the maximum and minimum value of an array #include<iostream> using namespace std; //recursive function to return maximum value int largestNum(int arr[], int n){ //base case when we traverse the complete array if(n == 1) return arr[0]; return max(arr[n-1], largestNum(arr, n-1)); } //recursive function to return the minimum value int smallestNum(int arr[], int n){ //base case when we traverse the complete array if(n == 1) return arr[0]; return min(arr[n-1], smallestNum(arr, n-1)); } int main(){ int arr[] = {12, 9, -2, 7, 3, 10}; //size of the given array int n = sizeof(arr)/sizeof(arr[0]); //function call cout<<"Maximum: "<<largestNum(arr, n)<<endl; cout<<"Minimum: "<<smallestNum(arr, n)<<endl; return 0; }
Maximum: 12 Minimum: -2
- Time Complexity: O(n)
- Space Complexity: O(1)
Approach 3: Using Library Function.
Below is the C++ code Implementation:
//C++ code to find maximum and minimum value of an array #include<bits/stdc++.h> using namespace std; //library function to return maximum value int largestNum(int arr[], int n){ return *max_element(arr, arr+n); } //library function to return minimum value int smallestNum(int arr[], int n){ return *min_element(arr, arr+n); } int main(){ int arr[] = {12, 9, -2, 7, 3, 10}; //size of given array int n = sizeof(arr)/sizeof(arr[0]); //function call cout<<"Maximum: "<<largestNum(arr, n)<<endl; cout<<"Minimum: "<<smallestNum(arr, n)<<endl; return 0; }
Maximum: 12 Minimum: -2
- Time Complexity: O(n)
- Space Complexity: O(1)
No comments:
Post a Comment