leetcode:908. 最小差值 I

一、题目

二、函数原型

int smallestRangeI(int* nums, int numsSize, int k) 

三、思路

本题题目有些绕口,但是无伤大雅。本质就是可以对数组中的每个元素进行加/减 k 的操作,然后求数组中的最大、最小元素的最小差值。

分为几种情况:

1.原数组中最大值和最小值的差值一半 小于等于 k,说明最大、最小元素可以通过加/减 k 的操作后相等,那么最大、最小元素的最小差值就是0

2.原数组中最大值和最小值的差值一半 大于 k,明最大、最小元素不可以通过加/减 k 的操作相等,那么最大、最小元素的最小差值就是 max - k - (min + k)

四、代码

int cmp(const void* e1,const void* e2)
{return *(int*)e1-*(int*)e2;
}int smallestRangeI(int* nums, int numsSize, int k) {qsort(nums,numsSize,sizeof(int),cmp);//排序找到最大最小元素int min=nums[0];//最小元素int max=nums[numsSize-1];//最大元素if((float)(max-min)/2<=(float)k){return 0;}else{return max-k-min-k;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么查询网络出口IP

怎么查询自己的网络的出口IP 背景 一般跟第三方服务进行接口数据交互的时候&#xff0c;对方都会让我们提供调用接口的网络的出口IP&#xff0c;对方会把该IP地址加到对方的白名单中。这样我们才能有权限进行接口的访问。 解决办法 下面介绍三种常用的查询网络出口IP的办法…

C语言编译器(C语言编程软件)完全攻略(第二十九部分:Linux GCC简明教程(使用GCC编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 二十九、Linux GCC简明教程&#xff08;使用GCC编写C语言程序&#xff09; 市面上常见的 Linux 都是发行版本&#xff0c;典型的 Linux 发行版包含了 Linux 内核、桌面环境&#xff08;例如 GNOME、KDE、Unity 等&#xff09;和各种…

[Verilog语言入门教程] 乘法器详解 与 设计/仿真

依公知及经验整理,原创保护,禁止转载。 专栏 《Verilog》 <<<< 返回总目录 <<<< 乘法器可以分为以下5种类型: 顺序乘法器(Sequential Multiplier):顺序乘法器是最简单的乘法器类型,采用逐位相乘的方法实现。这种乘法器适用于小规模的乘法运算…

go构建项目与打包

环境搭建 使用的组件及版本 operator-sdk v1.22.0go 1.20.0 linux/amd64git 1.8.3.1k8s 1.18.5docker 20.10.5 前期配置 安装Git yum install git安装docker yum install docker-ce安装go 官网下载 tar -C /usr/local/ -xvf go1.20.linux-amd64.tar.gz 环境配置 // 将go配置…

【赠书第16期】码上行动:用ChatGPT学会Python编程

文章目录 前言 1 ChatGPT简介 2 Python编程简介 3 使用ChatGPT学习Python编程 4 如何使用ChatGPT学习Python编程 5 推荐图书 6 粉丝福利 前言 随着人工智能技术的不断发展&#xff0c;聊天机器人已经成为我们日常生活和工作中不可或缺的一部分。其中&#xff0c;ChatGP…

HarmonyOS@Extend装饰器:定义扩展组件样式

Extend装饰器&#xff1a;定义扩展组件样式 在前文的示例中&#xff0c;可以使用Styles用于样式的扩展&#xff0c;在Styles的基础上&#xff0c;我们提供了Extend&#xff0c;用于扩展原生组件样式。 说明 从API version 9开始&#xff0c;该装饰器支持在ArkTS卡片中使用。…

静态网页设计——红旗汽车官网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1gK411x7Bg/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

git克隆失败提示RPC failed的解决方法

现象 $ git clone https://github.com/guillemj/dpkg.git Cloning into dpkg... remote: Enumerating objects: 113312, done. remote: Counting objects: 100% (18045/18045), done. remote: Compressing objects: 100% (3915/3915), done. error: RPC failed; curl 18 trans…

在Uniapp中使用Echarts创建可视化图表

在uniapp中可以引入echarts创建数据可视化图表。 1. 安装Echarts 使用npm安装echarts插件&#xff0c;命令如下&#xff1a; npm install echarts --save2. 引入Eharts 在需要使用Echarts的页面引入&#xff1a; import *as echarts from echarts3. 创建实例 创建画布元素…

跟我用路由器学Linux编程 - 专栏目录

专栏文章目录 序言 本专栏文章以梅林、openwrt等linux路由为基础硬件&#xff0c;和笔者一起学习使用shell语言。带你从编写简单的插件开始&#xff0c;学习怎么折腾路由器&#xff0c;顺便学会编程。专门找一台Linux主机用来学习很不容易&#xff0c;但软路由用的都是Linux基…

三极管组成的光控开关电路原理图

什么是光控开关 光控开关/光控时控器采用先进的嵌入式微型计算机控制技术&#xff0c;融光控功能和普通时控器两大功能为一体的多功能高级时控器&#xff08;时控开关&#xff09;&#xff0c;根据节能需要可以将光控探头&#xff08;功能&#xff09;与时控功能同时启用&…

【51单片机】LED灯的进阶操作(闪烁、流水)

上篇文章我们讲到了Keil5与STC的使用方式点亮第一个LED灯 这篇将继续进行一些LED灯的进阶操作 目录 LED灯闪烁&#xff1a;LED流水灯普通LED流水灯LED流水灯PLUS LED灯闪烁&#xff1a; 上文我们说只要通过P2这个寄存器就可以控制LED亮灭&#xff0c;现在我们要将其变为闪烁状…

React基础应用及常用代码

目录 基础知识 babel.config.js js,html,css,Vue,react,angular,nodejs,webpack,less,ES6,commonjs等的关系 ECMAScript 6&#xff08;ES6&#xff09; let、const、var 的区别 Webpack、npm、node关系 props和state区别 通用框架类 ES 6 export React React.Fragm…

pyparamvalidate 重构背景和需求分析

目录 一、前置说明1、总体目录2、相关回顾3、本节目标 二、重构背景三、需求分析三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器&#xff0c;从编码到发布全过程》 2、相关回顾 param_validator 常用校验器的实现 3、本节目…

前端算法之堆 -- 计数排序

堆用于解决什么问题 堆排序&#xff08;Heap Sort&#xff09;&#xff1a;优先队列&#xff08;Priority Queue&#xff09;&#xff1a;图算法中的最短路径和最小生成树问题&#xff1a;中位数查找&#xff1a;合并K个有序数组&#xff1a; 例子&#xff1a;库存管理 III On时…

分享一个java中读取excel的方法

一、前端传递后端一个excel文件 代码&#xff1a; String file param.get("file").split(",")[1];byte[] content Base64.decodeBase64(file);InputStream inputStream new ByteArrayInputStream(content);Map<String, List<Map<String, Stri…

CAD二开—WblockCloneObjects函数用法

public void WblockCloneObjects(ObjectIdCollection identifiers, ObjectId id, IdMapping mapping, Autodesk.AutoCAD.DatabaseServices.DuplicateRecordCloning cloning, [MarshalAs(UnmanagedType.U1)] bool deferTranslation );其中各个参数的意义如下&#xff1a; ident…

git本地创建分支并推送到远程关联起来

git本地创建分支并推送到远程关联起来 git本地基于当前分支创建个新的分支&#xff0c;然后推送到远程&#xff0c;并把本地新创建的分支和远程分支关联 在当前分支下&#xff0c;新建分支 git checkout -b test推送到远程仓库 git push origin test将本地分支和远程分支关联…

SAP设置修改删除自动JOB

一、设置JOB 方法一 一个不需要单独记事务码的方式 如果FS要求开发做了程序的话&#xff0c;直接执行事务码&#xff0c;点击左上角 程序-后台执行 输出设备选择LP01 打勾&#xff0c;有可能还有一个对话框&#xff0c;也打勾 打勾后设置周期值 系统预设的会有小时、天、周…

论文阅读_InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits

InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits 时间&#xff1a;2018年 作者&#xff1a;Luc M. Augustin, Member, IEEE, Rui Santos, Erik den Haan, Steven Kleijn, Peter J. A. Thijs, Sylwester Latkowski, Senior Member, IEEE, Dan Zhao, Wei…