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

news2024/12/26 21:01:06

在这里插入图片描述

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

在这里插入图片描述
本题的思路是:

  1. 若数组只有2个元素,显然任意一个元素不是最小值就是最大值。
  2. 若数组有3个以上的元素,由于提示中的第3点:数组中的所有数字互不相同,只需取前3个元素中,既不是最小值,也不是最大值的数据即可。所以,问题转化为:如何取出3个互不相同的整数中,既不是最小值,也不是最大值的数?

我们可以实现一个函数GetMid,用于完成取“中间值”的操作。具体的思路是分类讨论,假设3个数分别是a、b、c:

  1. 若a>b:此时若b>c,则有a>b>c,中间值是b;若c>a,则有c>a>b,此时中间值是a;若不满足前面2点,显然中间值既不是b也不是a,则中间值是c。
  2. 若b>a:此时若a>c,则有b>a>c,中间值是a;若c>b,则有c>b>a,此时中间值是b;若不满足前面2点,显然中间值既不是a也不是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]);
}

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

总结

  1. 先把问题转化为取前3个数的中间值问题。
  2. 接着分类讨论,每种情况的中间值。

感谢大家的阅读!

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

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

相关文章

中国首家外资独资期货公司,摩根大通期货持仓龙虎榜的持仓动向和盈亏状况

摩根大通期货&#xff0c;为什么持仓量长期排在期货龙虎榜前列 摩根大通是一家全球领先的金融服务机构&#xff0c;拥有超过200年的历史&#xff0c;业务遍及全球100多个国家和地区。这个期货公司比较神秘&#xff0c;只有上海一个营业部&#xff0c;在业务方向上以机构客户为服…

YOLOv5、YOLOv8改进教程:7. 添加SK-Net注意力机制

论文地址:Selective Kernel NetworksGithub:https://github.com/implus/SKNet如果你是深度学习小白,阅读本文前建议先学习一下 📖《新手入门深度学习》如果你有一定基础,但是缺乏实战经验,可通过 📖《深度学习100例》 补齐基础另外,我们正在通过 🔥365天深度学习训…

ATM模拟-管理员登录用户查询

项目来源&#xff1a;新星计划2023【JavaWeb实现ATM机存取款项目实战】 学习方向报名入口-CSDN社区 目录 管理员登录 管理员登录逻辑 管理员登录主程序 功能实现 代码如下&#xff1a; 用户信息封装 实现功能 代码实现&#xff1a; 业务层代码具体实现 功能实现 业…

linux查看内存总结

参考博客&#xff1a; https://www.atlantic.net/vps-hosting/find-top-10-running-processes-by-memory-and-cpu-usage/ 最简单的命令 free -g 查看还有多少可用的内存 但是有的时候这个提供的信息实在是太少了&#xff0c;例如我今天发现服务器上可用的内存只有50G, 我想知…

第2章 SSD主控和全闪存阵列

通过第一章可知&#xff0c;SSD主要由两大模块组成&#xff1a;主控和闪存介质。其中&#xff0c;主控的作用包括&#xff1a; &#xff08;1&#xff09;实现标准主机接口与主机通信&#xff1b; &#xff08;2&#xff09;实现与闪存的通信&#xff1b; &#xff08;1&#x…

算法与数据结构-队列

文章目录 什么是队列队列和栈的区别 队列的类型顺序队列链式队列循环队列阻塞队列并发队列 总结 什么是队列 队列跟栈一样&#xff0c;也是一种操作受限的线性表数据结构。不过&#xff0c;队列是先进者先出。 队列和栈的区别 栈只支持两个基本操作&#xff1a;入栈 push()和出…

【Kafka】Kafka consumer lag 为负数

前言 最近对Kafka 集群部署了 Kafka_exporter 监控&#xff0c;并集成了 granfana 图标展示。 发现 Consumer Group Lag 有时候为负数。 于是进行一番查询&#xff0c;并总结整理下。 具体情形 从下图可以看出&#xff0c;consumer group 值有时候出现负数的情况。 具体原…

Python 使用 pyc 解决明文密钥问题

文章目录 前言1. pyc 介绍2. py 代码编译2.1 使用命令行编译2.2 使用代码编译 3. 避免名为密钥案例3.1 创建密钥存储代码文件3.2 编译密钥代码3.3 调用密钥代码 前言 写代码过程中&#xff0c;可能遇到一些敏感信息不想明文暴露在代码中的情况&#xff0c;本篇文章介绍使用 py…

多tab之间的sessionStorage能不能直接共享访问?

首先&#xff0c;先理解下一个页面的sessionStorage是怎么回事。 1、当前A页面有sessionStorage值为123&#xff0c;我F5强刷页面&#xff0c;sessionStorage值还在不在&#xff1f; 答&#xff1a;在。 2、当前A页面有sessionStorage值为123&#xff0c;我复制A页面地址在浏览…

浏览器console发送get或post请求

浏览器console发送get或post请求 get请求 var url "http://******:8080/base/testapi/testcurl?urlhttps%3A%2F%2Fwww.baidu.com%2F"; var xhr new XMLHttpRequest(); xhr.open("GET", url, true); xhr.setRequestHeader("Content-Type", &…

RPG++——游戏编辑器的开发

完整资料进入【数字空间】查看——baidu搜索"writebug" 随着当下电子设备的普及以及人们对娱乐需求的上升&#xff0c;电子游戏逐渐走进千家万户。RPG&#xff08;角色扮演&#xff09;游戏作为最经典的游戏种类之一&#xff0c;因其游戏形式多样&#xff0c;自由度…

矢量数据库对比和选择指南

矢量数据库是为实现高维矢量数据的高效存储、检索和相似性搜索而设计的。使用一种称为嵌入的过程&#xff0c;将向量数据表示为一个连续的、有意义的高维向量。 本文将研究存储/检索向量数据和执行相似性搜索的实用方法&#xff0c;在我们深入研究之前&#xff0c;首先先介绍矢…

改进 Elastic Stack 中的信息检索:提高搜索相关性的步骤

作者&#xff1a;Grgoire Corbire, Quentin Herreros, Thomas Veasey 自 8.0 和用于文本嵌入的第三方自然语言处理 (NLP) 模型发布以来&#xff0c;Elastic Stack 的用户可以访问各种模型来嵌入其文本文档并使用矢量搜索执行基于查询的信息检索。 考虑到所有这些组件及其参数…

Rust 第二天---Rust基础总结

之前已经配置好了Rust的环境,那学习一门语言最开始就是去掌握了解它的基本语法.其实Rust的语法和大多编程语言没什么差别,熟悉C的应该很容易上手,所以今天就快速过一遍基础. 1. 变量与常量 变量应该是编程中最常用到的,但是Rust与其他语言不同的是在声明变量的时候必须说明这…

vue最强table vxe-table 虚拟滚动列表 前端导出

最近遇到个问题。后台一次性返回2万条列表数据。 并且需求要求所有数据必须全部展示&#xff0c;不能做假分页&#xff08;不能优化了&#xff09;。 这些数据的直接来源就是CS客户端。 他们做CS客户端就是一次性加载几万条数据不分页&#xff08;说这是客户的要求&#xff…

android_mars老师_定位_获取最佳的provider

结果展示 ManiActivity package com.example.locationmanager2;import androidx.appcompat.app.AppCompatActivity;import android.content.Context; import android.location.Criteria; import android.location.LocationManager; import android.os.Bundle; import android.…

开放式耳机对耳朵伤害大吗?开放式耳机是什么意思?

​今天来跟大家一起聊聊&#xff0c;开放式耳机对耳朵伤害大不大&#xff0c;还有就是开放式耳机到底是什么类型的耳机&#xff0c;且开放式耳机有哪些比较好用的... 开放式耳机对耳朵伤害大吗&#xff1f; 开放式耳机对耳机的伤害是比较小的&#xff0c;传统入耳式耳机佩戴久了…

【Linux实验】将个人主页上传到服务器

一、实验目的 l 网页制作&#xff1b; l 熟悉 Linux FTP or scp 拷贝&#xff1b; l 熟悉 apache 权限配置。 二、实验内容 l 创建个人主页&#xff1b; l 用 FTP 或 scp 上传服务器&#xff1b; l chmod 设置目录权限&#xff1b; l Web 访问。 三、实验代码 略…

ModaHub魔搭社区:Milvus向量数据库最权威全面的百科

目录 什么是 Milvus&#xff1f; Milvus 向量数据库专为向量查询与检索设计&#xff0c;能够为万亿级向量数据建立索引。与现有的主要用作处理结构化数据的关系型数据库不同&#xff0c;Milvus 在底层设计上就是为了处理由各种非结构化数据转换而来的向量而生。 产品版本 强…

进行EE存储时需要关中断

一、调度中执行存储 在task调度里执行存储任务&#xff0c;在存储之前必须关掉中断&#xff0c;存储之后再打开中断&#xff0c;否则将会影响存储。以下两个函数分别执行挂起所有嵌套的中断和恢复所有嵌套的中断。 二、下电存储 在下电存储之前也需要使EcuM Shutdown或者Shut…