leetcode1509. 三次操作后最大值与最小值的最小差
生活随笔
收集整理的這篇文章主要介紹了
leetcode1509. 三次操作后最大值与最小值的最小差
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給你一個(gè)數(shù)組 nums ,每次操作你可以選擇 nums 中的任意一個(gè)元素并將它改成任意值。
請(qǐng)你返回三次操作后, nums 中最大值與最小值的差的最小值。
示例 1:
輸入:nums = [5,3,2,4]
輸出:0
解釋:將數(shù)組 [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的數(shù)組結(jié)果都是0for(int i=0;i<=3;i++)//遍歷所有可能,例如左邊消掉0-3個(gè)數(shù),右邊對(duì)應(yīng)消掉3-0個(gè)數(shù)字,選擇最小的差res= Math.min(res,Math.min(nums[r-3+i]-nums[l+i],nums[r-i]-nums[l+3-i]));return res;} }總結(jié)
以上是生活随笔為你收集整理的leetcode1509. 三次操作后最大值与最小值的最小差的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到蜘蛛蚂蚁是什么预兆
- 下一篇: 梦到死人回来找我什么意思