数学美学:探索“既不是最小值也不是最大值”的魅力

在这里插入图片描述

本篇博客会讲解力扣“2733. 既不是最小值也不是最大值”的解题思路,这是题目链接。

在这里插入图片描述

本题的思路是:

  • 如果数组只有两个元素,直接返回任意一个即可。
  • 如果数组有三个或以上的元素,由于数组中的所有数字互不相同,我们只需要找出前三个元素中的中间值即可。所以,问题转化为:如何从三个互不相同的整数中找出中间值?

我们可以实现一个函数GetMid,用于完成这个操作。具体的思路是:

  • 假设三个数分别是a、b、c。
  • 如果a>b,那么:
    • 如果b>c,那么中间值是b。
    • 如果c>a,那么中间值是a。
    • 否则,中间值是c。
  • 如果b>a,那么:
    • 如果a>c,那么中间值是a。
    • 如果c>b,那么中间值是b。
    • 否则,中间值是c。

完整代码如下:

int GetMid(int a, int b, int c)
{
    if (a > b)
    {
        if (b > c)
        {
            return b;
        }
        else if (c > a)
        {
            return a;
        }
        else
        {
            return c;
        }
    }
    else // b > a
    {
        if (a > c)
        {
            return a;
        }
        else if (c > b)
        {
            return b;
        }
        else
        {
            return c;
        }
    }
}

int findNonMinOrMax(int* nums, int numsSize){
    if (numsSize <= 2)
        return -1;
    
    // 返回前3个数字排中间的数
    return GetMid(nums[0], nums[1], nums[2]);
}

在这里插入图片描述
力扣竟然显示“你的代码真是无敌了!”,这还是第一次见。

总结

  • 首先,将问题转化为求前三个数的中间值问题。
  • 然后,根据不同的情况,确定中间值。

感谢大家的阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git 进阶 高级用法,重要命令记录

本篇文章用于记录Git高级用法&#xff0c;新手可以看我的另一篇文章&#xff1a;Git基础教学。 Git git fetch 是git pull 的细分步骤&#xff0c;git pull 包含了git fetch git pull origin master 上述命令其实相当于git fetch git merge 在实际使用中&#xff0c;git fetc…

谷歌Gemini批量多线程写原创文章API软件-支持双标题违禁词过滤

谷歌Gemini批量多线程写原创文章软件介绍&#xff1a; 1、Gemini 是谷歌筹备了一年之久的GPT4真正竞品&#xff0c;也是目前谷歌能拿出手的功能最为强悍、适配最为灵活的大模型。 2、谷歌Gemini目前免费申请key&#xff0c;key没有额度限制&#xff0c;可以一直写文章。 3、谷…

【Claude3 最新注册教程】Claude Pro 付费订阅教程,Claude Pro多5倍使用量

一、Claude Pro 带来的变化 Claude Pro的价格与OpenAI的ChatGPT Plus相同&#xff0c;用户每月只需支付 20 美元&#xff08;美国&#xff09;或 18 英镑&#xff08;英国&#xff09;&#xff0c;就能获得比免费 Claude 2 多 5 倍的对话量、发送 "更多 "信息的能力…

【C++】类与对象(上篇)

一.类的引入 C与C语言比较起来&#xff0c;C引入了一个新的概念&#xff0c;叫做类。那么在C中&#xff0c;类又是什么呢&#xff1f; 在C中&#xff0c;类与C语言中的结构体相似&#xff0c;但不同的是&#xff0c;C中的类中&#xff0c;不仅可以定义变量&#xff0c;还能定义…

最简单 导航栏 html css

dhl.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><link type"text/css" rel"stylesheet" href"css/dhl.css"></head><div class"dhl&quo…

java编程的简化表达方法——Lambda表达式及方法引用概述

前言&#xff1a; 学到简化写法了&#xff0c;感觉需要对代码非常熟悉才能用得好&#xff0c;整理下写法。打好基础&#xff0c;daydayup! Lambda表达式 Lambda表达式是JDK8开始新增得一种语法形式&#xff1b;作用&#xff1a;用于简化匿名内部类的代码写法。 Lambda表达式的格…

汉服文化平台网站|基于SSM 框架+vue+ Mysql+Java+B/S架构技术的汉服文化平台网站设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

目录 系统详细设计 前台首页功能模块 管理员功能 用户功能 系统结构设计 数据库设计 摘 要 研究内容 文末获取源码 系统详细设计 前台首页功能模块 管理员功能 用户功能 系统结构设计 数据库设计 论文参考 摘 要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台…

前端 css 实现标签的效果

效果如下图 直接上代码&#xff1a; <div class"label-child">NEW</div> // css样式 // 父元素 class .border-radius { position: relative; overflow: hidden; } .label-child { position: absolute; width: 150rpx; height: 27rpx; text-align: cente…

支持多平台,无需GPU!仅需8G内存即可部署运行大模型

随着ai技术不断发展&#xff0c;一直想本地运行一个大模型玩玩&#xff0c;奈何GPU价格不低...... 最近找到一款只需要8G内存即可运行的大模型&#xff0c;速度还挺快&#xff0c;特别分享出来。 本地安装前提 内存 8G 安装运行简要概述 首先运行服务端然后运出客户端即可本地…

06 - 镜像管理之:基础知识

1 了解镜像 Docker镜像是一个特殊的文件系统&#xff0c;除了提供容器运行时所需的程序、库、资源、配置等文件外&#xff0c;还包含了一些为运行时准备的一些配置参数&#xff08;如匿名卷、环境变量、用户等&#xff09;。 但注意&#xff0c; 镜像不包含任何动态数据&#…

Operator开发

概述 基于k8s做扩展的时候&#xff0c;一种典型方式则是 operator 开发&#xff0c;通过 CRD(CustomResourceDefinition) 来定义自定义资源&#xff0c;开发对应的 controller 来做业务控制&#xff0c;以期实现特定的业务需求。那么其本质是什么&#xff1f;是事件驱动。与我…

图像超分辨率:Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution

9.Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution 提出一种适用移动端的超分网络 一些tensor op 的推理时间 一些卷积结构的推理时间 网络结构NCNet 主干网络预测的是 残差&#xff0c;什么的残差&#xff1f; 是最近邻插值图像与 ground-truth的…

基于springboot+vue的疫苗发布和接种预约系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

时间复杂度考点总结

【2022统考真题】下列程序段的时间复杂度是( )。 int sum0; for(int il;i<n;i*2) for(int j0;j<i;j) sum; 这道题容易错选为C,正确答案是B 解答&#xff1a;i1时循环1次&#xff0c;i2时循环2次&#xff0c;i4时循环4次&#xff0c;所以循环次数…

Premiere快速闪光特效视频转场Pr项目模板视频剪辑素材

Premiere转场模板&#xff0c;包含15种快速闪光特效视频转场过渡效果PR项目模板视频剪辑素材&#xff0c;动态效果与动画纹理的组合方式。包含视频教程。提供4K和HD两种版本。来自PR模板网&#xff0c;下载地址&#xff1a;https://prmuban.com/38081.html

微信小程序-4

自定义组件 创建组件 在项目的根目录中&#xff0c;创建 components 文件夹&#xff0c;在里面编写我们的自定义主键&#xff0c;如下所示&#xff1a; 引用组件 局部引用&#xff1a; index.json // 在页面的 .json 文件中&#xff0c;引入组件 {"usingComponents&q…

区间合并(超详细逐步讲解/例题/思路分析/参考代码)

区间合并超详解 区间合并是什么&#xff1f;例1问题描述输入输出数据规模输入输出思路分析代码 例2问题描述输入输出数据规模输入输出思路分析代码 例3问题描述输入输出输入输出思路分析代码 例4问题描述输入输出输入输出参考代码 区间合并是什么&#xff1f; 我们要了解区间合…

下载中心-异步下载

下载中心 文章目录 下载中心一. 概要二. 实现逻辑 下载中心一. 概要二. 实现逻辑三. 主要代码逻辑1.生成任务2.消费任务3.查询方法是如何存入内存中的4.DCGenerateComponent 反射调用查询数据方法 总结 一. 概要 功能概览&#xff1a;将文件下载修改为异步下载&#xff0c;引入…

Ubuntu18.04安装RTX2060显卡驱动+CUDA+cuDNN

Ubuntu18.04安装RTX2060显卡驱动CUDAcuDNN 1 安装RTX2060显卡驱动1.1 查看当前显卡是否被识别1.2 安装驱动依赖1.3 安装桌面显示管理器1.4 下载显卡驱动1.5 禁用nouveau1.6 安装驱动1.7 查看驱动安装情况 2 安装CUDA2.1 查看当前显卡支持的CUDA版本2.2 下载CUDA Toolkit2.3 安装…

1.4 Word2Vec是如何工作的? Word2Vec与LDA 的区别和联系?

1.4 Word2Vec&#xff1a;词嵌入模型之一 场景描述 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。 Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构&#xff0c;分别是CBOW(Continues Bag of Words)和Skip-gram。 知识点 Word2Vec,隐狄利克雷模型(LDA),…