问题描述:
样例输入:
代码如下:
package leetcode;
import java.util.Arrays;
import java.util.Scanner;
public class SmallestRangeI {
public int smallestRangeI(int[] nums, int k) {
if (nums.length==1) return 0;//数组长度为1,直接返回0
Arrays.sort(nums);
if (nums[nums.length-1]-nums[0]<=2*k)//如果最小值和最大值的差值小于等于2k,则直接返回0
return 0;
else return nums[nums.length-1]-k-nums[0]-k;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数组长度");
int len=scanner.nextInt();
int[] nums=new int[len];
System.out.println("请输入数组");
for (int i = 0; i <len ; i++) {
nums[i]=scanner.nextInt();
}
System.out.println("请输入k");
int k=scanner.nextInt();
SmallestRangeI smallestRangeI=new SmallestRangeI();
System.out.println(smallestRangeI.smallestRangeI(nums,k));
}
}
运行结果如下: