当前位置: 首页 > article >正文

剑指offer-旋转数组中的最小值

文章目录

        • 题目描述
        • 题解一 暴力for循环

🌕博客x主页:己不由心王道长🌕!
🌎文章说明:剑指offer-旋转数组中的最小值🌎
✅系列专栏:剑指offer
🌴本篇内容:对剑指offer中的数组进行学习和解析🌴
☕️每日一语:这个世界本来就不完美,如果我们再不接受不完美的自己,那我们要怎么活。☕️
🚩 交流社区:己不由心王道长(优质编程社区)

题目描述

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。

给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。

注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。

示例 1:

输入:numbers = [3,4,5,1,2]
输出:1
示例 2:

输入:numbers = [2,2,2,0,1]
输出:0

提示:

n == numbers.length
1 <= n <= 5000
-5000 <= numbers[i] <= 5000
numbers 原来是一个升序排序的数组,并进行了 1 至 n 次旋转

题解一 暴力for循环

在这里插入图片描述
这个做法的思路是,不管给的条件是什么,先看看题目要求我们做什么。很明显,本题的题目只是要求我们返回这个数组的最小元素,这时候直接for循环,一个一个比较,总能得出数组中最小的元素吧?

class Solution {
    public int minArray(int[] numbers) {
        int target =numbers[0];//存储数组的第一个元素,也做最小值的存储
        for(int i =1;i<numbers.length;i++){//for循环,一个一个比较
            if(target>numbers[i]){//如果开始数组的元素比下一个小,
                target = numbers[i];//令下一个为最小值,并且存储在变量target中
            }
        }
        return target;
    }
}

结果
在这里插入图片描述


http://www.kler.cn/a/3885.html

相关文章:

  • python助力WRF自动化运行
  • 高等数学:映射与函数
  • 【Linux系统编程】—— 深度解析进程等待与终止:系统高效运行的关键
  • 考研计算机组成原理——零基础学习的笔记
  • 【记录52】el-table-column 添加fixed属性 滚动条无法滑动
  • 在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)
  • 软件测试风险管理需要做的3件事
  • 数据结构 | 泛型 | 擦除机制| 泛型的上界
  • 一次内存泄露排查
  • ROS Cartographer--Algorithm
  • 比肩ChatGPT的国产AI:文心一言——有话说
  • 单片机常用完整性校验算法
  • 【云原生|Docker】06-dokcerfile详解
  • 仓库管理系统有哪些作用?选择仓库管理系统要注意这4大问题!
  • 初识操作系统
  • Linux进程概念—环境变量
  • 【Spring事物三千问】TransactionSynchronizationManager的原理分析
  • 力扣-行程和用户
  • python redis连接池sub/pub断开连接问题
  • SparkSql编程开发
  • Proteus8.15安装包下载及安装教程
  • 【Python】在python中使用MySQL
  • Postgresql实战:使用pg_basebackup或pg_start_backup方式搭建Postgresql主从流复制
  • 代码随想录【Day42】动态规划 | 背包问题、416. 分割等和子集
  • 人工智能交互系统界面设计(Tkinter界面设计)
  • docker本地私有仓库搭建