Problem Explanation
The task is to find the smallest and largest elements in an array of integers. You are given an array of integers, and you need to determine the minimum and maximum values in this array and then print them.
Approach
To find the smallest and largest elements in an array of integers, we can iterate through the array once while maintaining two variables: smallest
and largest
. Initially, we set smallest
to INT_MAX
and largest
to INT_MIN
to ensure any element in the array will update these values. As we traverse the array, we compare each element with smallest
and largest
, updating them accordingly if a smaller or larger element is found. After the loop, smallest
will hold the minimum value, and largest
will hold the maximum value, which we then print. This approach is efficient with a time complexity of O(n) and a space complexity of O(1).
Complexity Analysis

Time Complexity: The time complexity of this solution is O(n), where
n
is the number of elements in the array. This is because we only traverse the array once to determine both the smallest and largest elements. 
Space Complexity: The space complexity is O(1), as we are only using a fixed amount of extra space for the variables
smallest
andlargest
, regardless of the size of the input array.