牛牛有n朵需要摆放的花,但是每朵花呢,高度都不一样,牛牛不喜欢相邻的花高度相差太多,这样会影响美感。 所以牛牛提出了一个“丑陋度”的概念,“丑陋度”意思为在一个摆放序列中,相邻花高度差的最大值。而且牛牛是一个完美主义者,所以他希望: 1.将这些花摆成首尾相接的圆形 2.为了美观,他希望摆放的花“丑陋度”最小 程序应返回:按照这些花排成一个圆的顺序,输出在多个摆放花的序列中,最小的“丑陋度”。

排序,开一个数组,然后左右依次放数,最后取最大差值

class Solution {
public:
    /**
     * ​返回按照这些花排成一个圆的序列中最小的“丑陋度”
     * @param n int整型 花的数量
     * @param array int整型vector 花的高度数组
     * @return int整型
     */
        int solve(int n, vector<int>& array) {

        int flag[100005];
        sort(array.begin(),array.end());
        flag[0] = array[0];
        int i,j,k;
        int l = 1,r = n-1; 
        for(i=1;i<n;++i)
        {
            if(i%2==1) flag[l++] = array[i];
            else flag[r--] = array[i];
        }
        flag[n] = flag[0];
        int ans = 0;
        for(i=1;i<=n;++i)
        {
            int dx = abs(flag[i]-flag[i-1]);
            ans = max(ans,dx);
        }
        return ans;
    }

};