LintCode 1859. 最小振幅(排序)
生活随笔
收集整理的這篇文章主要介紹了
LintCode 1859. 最小振幅(排序)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
給定一個由 N 個整數(shù)組成的數(shù)組 A,一次移動,我們可以選擇此數(shù)組中的任何元素并將其替換為任何值。
數(shù)組的振幅是數(shù)組A中的最大值和最小值之間的差。
返回通過執(zhí)行最多三次替換之后數(shù)組A的最小振幅
2. 解題
- 排序后,舍去兩端的3個點,共有4種情況(一端為0,1,2,3 個)
or
class Solution { public:int MinimumAmplitude(vector<int> &A) {if(A.size() <= 4)return 0;sort(A.begin(),A.end());int Min = INT_MAX;int i = 3, j = A.size()-1, count = 4;while(count--){Min = min(Min, A[j]-A[i]);j--,i--;}return Min;} };總結(jié)
以上是生活随笔為你收集整理的LintCode 1859. 最小振幅(排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 289. 生命游戏(位
- 下一篇: LeetCode 1266. 访问所有点