卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章65682本站已运行420

三步中最大和最小值之间的最小差异

三步中最大和最小值之间的最小差异

1509。三步中最大和最小值之间的最小差异

给你一个整数数组 nums。

一举可以选择nums的一个元素,并将其更改为任意值.

最多执行三步后,返回nums的最大和最小值之间的最小差值.

示例1:

  • 输入: nums = [5,3,2,4]
  • 输出: 0
  • 说明: 我们最多可以进行 3 步。
 第一步,将 2 改为 3,nums 变为 [5,3,3,4]。
  第二步,将4改为3。nums变为[5,3,3,3]。
  第三步,将5改为3。nums变为[3,3,3,3]。
  执行 3 次移动后,最小值和最大值之差为 3 - 3 = 0。

示例2:

  • 输入: nums = [1,5,0,10,14]
  • 输出: 1
  • 说明: 我们最多可以进行 3 步。
 第一步,将 5 改为 0,nums 变为 [1,0,0,10,14]。
  在第二步中,将 10 更改为 0。nums 变为 [1,0,0,0,14]。
  第三步,将14改为1。nums变为[1,0,0,0,1]。
  执行 3 次移动后,最小值和最大值之差为 1 - 0 = 1。
  可以证明,没有办法在3步之内使差值变为0。

示例3:

  • 输入: nums = [3,100,20]
  • 输出: 0
  • 说明: 我们最多可以进行 3 步。
 第一步,将 100 改为 7。 nums 变为 [3,7,20]。
  在第二步中,将 20 更改为 7。nums 变为 [3,7,7]。
  第三步,将3改为7。nums变为[7,7,7]。
  执行 3 次移动后,最小值和最大值之差为 7 - 7 = 0。

限制:

  • 1 5
  • -1099

解决方案:

类解决方案{

    /*** @param 整数[] $nums
     * @return 整数*/
    函数 minDifference($nums) {
        $n = 计数($nums);

        // 如果数组有 4 个或更少的元素,则差异为零,因为我们可以删除除一个元素之外的所有元素。
        如果($n 



<p><strong>联系链接</strong></p>

  • 领英
  • GitHub
卓越飞翔博客
上一篇: HackerRank SQL 准备:全选(MySQL)
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏