当前位置: 代码迷 >> 综合 >> Leetcode 1509. Minimum Difference Between Largest and Smallest Value in Three Moves(容易理解的解法)
  详细解决方案

Leetcode 1509. Minimum Difference Between Largest and Smallest Value in Three Moves(容易理解的解法)

热度:39   发布时间:2024-02-11 06:55:31.0

Leetcode 1509. Minimum Difference Between Largest and Smallest Value in Three Moves

题目链接: Minimum Difference Between Largest and Smallest Value in Three Moves

难度:Medium

题目大意:

给一组数,每次操作可以修改任意一个数为任何值,最多可以进行3次操作,求经过操作后这组数最大值与最小值之差的最小值。

思路:

先把这组数按升序排序,每次对最大的数或者最小的数进行操作,一共可以进行3次操作,穷举所有的情况,然后进行比较取最小值。

代码

class Solution {public int minDifference(int[] nums) {int n=nums.length;if(n<=4){return 0;}else{Arrays.sort(nums);int[] differ=new int[4];int minIndex=0,maxIndex=n-1;for(int i=0;i<4;i++){//穷举所有的情况int j=3-i;minIndex=i;maxIndex=n-1-j;differ[i]=nums[maxIndex]-nums[minIndex];}Arrays.sort(differ);return differ[0];}}
}
  相关解决方案