leetcode1509. 三次操作后最大值与最小值的最小差
生活随笔
收集整理的這篇文章主要介紹了
leetcode1509. 三次操作后最大值与最小值的最小差
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個數組 nums ,每次操作你可以選擇 nums 中的任意一個元素并將它改成任意值。
請你返回三次操作后, nums 中最大值與最小值的差的最小值。
示例 1:
輸入:nums = [5,3,2,4]
輸出:0
解釋:將數組 [5,3,2,4] 變成 [2,2,2,2].
最大值與最小值的差為 2-2 = 0 。
代碼
class Solution {public int minDifference(int[] nums) {Arrays.sort(nums);int l=0,n=nums.length,r=n-1,res=Integer.MAX_VALUE;if(n<=3) return 0;//長度小于4的數組結果都是0for(int i=0;i<=3;i++)//遍歷所有可能,例如左邊消掉0-3個數,右邊對應消掉3-0個數字,選擇最小的差res= Math.min(res,Math.min(nums[r-3+i]-nums[l+i],nums[r-i]-nums[l+3-i]));return res;} }總結
以上是生活随笔為你收集整理的leetcode1509. 三次操作后最大值与最小值的最小差的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到蜘蛛蚂蚁是什么预兆
- 下一篇: leetcode1177. 构建回文串检