0

0

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

王林

王林

发布时间:2024-07-10 12:41:10

|

923人浏览过

|

来源于dev.to

转载

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

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

给你一个整数数组 nums。

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

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

示例1:

久久企业网站后台管理系统1.0
久久企业网站后台管理系统1.0

一、功能简介本软件完全适应大、中、小型网站建设需要,让您用很便宜的虚拟主机空间也可以开通4个独立的网站!久久企业网站后台管理系统各种版本开发基础架构均为php+mysql+div+css+伪静态,迎合搜索引擎排名的喜好。另外值得一提的是本站特色的TAG系统可为您的网站做出无限分类,不用任何设置全站ULR伪静态!本建站系统除了有产品发布、新闻(软文)发布、订单管理系统和留言反馈等一些最基本的功能之外

下载
  • 输入: 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 <= 4){
            返回0;
        }

        // 对数组进行排序,方便计算移除后的差异。
        排序($nums);

        // 我们考虑从开头或结尾删除 0、1、2 或 3 个元素。
        // 计算差异:
        // 1. 从开始处删除 3:nums[n-1] - nums[3]
        // 2. 从开头删除 2,从结尾删除 1:nums[n-2] - nums[2]
        // 3. 从开头删除 1,从结尾删除 2:nums[n-3] - nums[1]
        // 4. 从末尾删除 3:nums[n-4] - nums[0]
        $差异= [
            $nums[$n - 1] - $nums[3],
            $nums[$n - 2] - $nums[2],
            $nums[$n - 3] - $nums[1],
            $nums[$n - 4] - $nums[0]
        ];

        // 返回最小差值。
        返回最小值($差异);
    }
}

联系链接

  • 领英
  • GitHub

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.7万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号