每日一题——Leetcode908

2023-12-24 18:33:22

方法一 数学思想:

其实就是看数组中最大值和最小值一个加上k一个减去k是否能刚好凑到0,如果不能就是两者之差

var smallestRangeI = function(nums, k) {
    var min=9999,max=-1
    for(var i=0;i<nums.length;i++){
        min = Math.min(min,nums[i])
        max = Math.max(max,nums[i])
    }
    return Math.max(0,max-min-k*2)
};

消耗时间和内存情况:

也可以直接暴力排序:

var smallestRangeI = function(nums, k) {
    nums.sort((a,b)=>a-b)
    return Math.max(0,nums[nums.length-1]-nums[0]-k*2)
};

消耗时间和内存情况:

文章来源:https://blog.csdn.net/weixin_52878347/article/details/135183732
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。