博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
908. Smallest Range I
阅读量:5065 次
发布时间:2019-06-12

本文共 1072 字,大约阅读时间需要 3 分钟。

Given an array A of integers, for each integer A[i] we may choose any x with -K <= x <= K, and add x to A[i].

After this process, we have some array B.

Return the smallest possible difference between the maximum value of B and the minimum value of B.

 

Example 1:

Input: A = [1], K = 0Output: 0Explanation: B = [1]

Example 2:

Input: A = [0,10], K = 2Output: 6Explanation: B = [2,8]

Example 3:

Input: A = [1,3,6], K = 3Output: 0Explanation: B = [3,3,3] or B = [4,4,4]

 

Note:

  1. 1 <= A.length <= 10000
  2. 0 <= A[i] <= 10000
  3. 0 <= K <= 10000

 

Approach #1: Math. [Java]

class Solution {    public int smallestRangeI(int[] A, int K) {        int min = Integer.MAX_VALUE;        int max = Integer.MIN_VALUE;        for (int i = 0; i < A.length; ++i) {            if (min > A[i]) min = A[i];            if (max < A[i]) max = A[i];        }        if (max - min < 2 * K) return 0;        return max - min - 2 * K;    }}

  

Analysis:

If you can find that the result only relate with (max - min) and 2 * K, it will become easy to solve.

 

转载于:https://www.cnblogs.com/ruruozhenhao/p/10914741.html

你可能感兴趣的文章
C++求数组子数组和的最大值并将该子数组和最大值打印出来
查看>>
Oracle创建 表空间 用户 给用户授权命令
查看>>
SpringMVC Controller的返回类型
查看>>
MySQL临时表
查看>>
重庆社保局密码重置
查看>>
ELK日志管理之——kibana部署
查看>>
寒假作业
查看>>
类继承、组合和抽象类
查看>>
Objective C 错误整理
查看>>
bulid-tool
查看>>
编程之美 set 1 不要被阶乘吓倒
查看>>
关于centos6升级python3.6无法使用pip的问题
查看>>
用C语言实现中文到unicode码的转换
查看>>
闭包函数与装饰器
查看>>
Swift 添加自定义响应事件
查看>>
Item 3 - What is an efficient way to implement a singleton pattern in Java?
查看>>
java中main函数的String[] args
查看>>
在乌班图中将py3设置为默认解释器
查看>>
Vue - 在v-repeat中使用计算属性
查看>>
Keil4 几例异常解决办法
查看>>