Min-Max

Given an array of integers. Check if all the numbers between the minimum and maximum number in the array exist within the array.

Print 'YES' if numbers exist otherwise print 'NO'(without quotes).

Example:

Input: n = 6, a = [4,2,1,3,5,6]
Output: YES

Approach

C++

#include <bits/stdc++.h>
using namespace std;

bool minMax(int nint a[])
{
    set<intst;
    for (int i = 0i < ni++)
    {
        st.insert(a[i]);
    }
    sort(aa + n);
    int min1 = a[0], max1 = a[n - 1];
    int flag = 0;
    for (int i = min1i <= max1i++)
    {
        if (st.find(i== st.end())
        {
            flag = 1;
            break;
        }
    }
    if (flag == 0)
        return true;
    else
        return false;
}
int main()
{
    int n = 6;

    int a[n] = {421356};

    if (minMax(na))
        cout << "YES\n";
    else
        cout << "NO\n";

    return 0;
}


No comments:

Post a Comment