leetcode908. Smallest Range I

Posted seyjs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode908. Smallest Range I相关的知识,希望对你有一定的参考价值。

题目如下:

解题思路:简单的不能再简单的题目了,对于任意一个A[i]来说,其可能的最小的最大值是A[i]-K,最大的最小值是A[i]+K。遍历数组,求出所有元素中最大的最小值和最小的最大值,两者之差(小于零则取零)就是答案。

代码如下:

class Solution(object):
    def smallestRangeI(self, A, K):
        """
        :type A: List[int]
        :type K: int
        :rtype: int
        """
        minv,maxv = A[0] + K, A[0] - K
        for i in A:
            minv = min(minv,i+K)
            maxv = max(maxv,i-K)
        return max(0,maxv-minv)

 

以上是关于leetcode908. Smallest Range I的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 908 Smallest Range I 解题报告

leetcode908. Smallest Range I

Leetcode-908 Smallest Range I(最小差值 I)

908. Smallest Range I

每日编程-448期Leetcode.908.最小差值I

LeetCode 908 最小差值I[数学] HERODING的LeetCode之路