首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用循环查找数组的最大值和最小值

可以通过以下步骤实现:

  1. 初始化最大值和最小值变量,将最大值设为数组的第一个元素,将最小值设为数组的第一个元素。
  2. 使用循环遍历数组中的每个元素。
  3. 在循环中,比较当前元素与最大值和最小值的大小。
    • 如果当前元素大于最大值,则更新最大值为当前元素。
    • 如果当前元素小于最小值,则更新最小值为当前元素。
  • 循环结束后,最大值和最小值变量中存储的即为数组中的最大值和最小值。

以下是一个示例代码,使用JavaScript语言实现:

代码语言:txt
复制
function findMaxAndMin(arr) {
  let max = arr[0];
  let min = arr[0];

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
      max = arr[i];
    }
    if (arr[i] < min) {
      min = arr[i];
    }
  }

  return {
    max: max,
    min: min
  };
}

const array = [5, 2, 9, 1, 7];
const result = findMaxAndMin(array);
console.log("最大值:" + result.max);
console.log("最小值:" + result.min);

这个算法的时间复杂度为O(n),其中n是数组的长度。它通过一次循环遍历数组,比较每个元素与最大值和最小值,找到最大值和最小值。这个算法简单高效,适用于任何大小的数组。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(云原生、服务器运维):https://cloud.tencent.com/product/scf
  • 腾讯云数据库(数据库):https://cloud.tencent.com/product/cdb
  • 腾讯云CDN(网络通信):https://cloud.tencent.com/product/cdn
  • 腾讯云安全加速(网络安全):https://cloud.tencent.com/product/ddos
  • 腾讯云音视频处理(音视频、多媒体处理):https://cloud.tencent.com/product/mps
  • 腾讯云人工智能(人工智能):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(物联网):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动开发):https://cloud.tencent.com/product/mobdev
  • 腾讯云对象存储(存储):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(区块链):https://cloud.tencent.com/product/baas
  • 腾讯云虚拟专用网络(网络通信):https://cloud.tencent.com/product/vpc
  • 腾讯云游戏多媒体引擎(音视频、多媒体处理):https://cloud.tencent.com/product/gme
  • 腾讯云智能图像处理(人工智能):https://cloud.tencent.com/product/tii
  • 腾讯云物联网通信(物联网):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动推送(移动开发):https://cloud.tencent.com/product/tpns
  • 腾讯云文件存储(存储):https://cloud.tencent.com/product/cfs
  • 腾讯云区块链服务(区块链):https://cloud.tencent.com/product/tbaas
  • 腾讯云云游戏(元宇宙):https://cloud.tencent.com/product/cloudgame
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言丨如何查找数组最大值或者最小值?图文详解

程序中,我们经常使用数组(列表)存储给定线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中最大值或者最小值呢?...查找数组(序列)中最大值最小值算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值算法,一种是普通算法,另一种是借助分治算法解决。...普通算法 普通算法解决思路是:创建两个变量 max min 分别记录数组最大值最小值,它们初始值都是数组第一个数字。...下面的动画,演示了找最大值过程: 数组中找最大值过程 找最小值过程上图类似,这里不再给出具体动画演示。...:%d", max); return 0; } 以上程序输出结果均为: 最大值:7 您可以根据伪代码给出数组最大值程序,自行编写出找数组最小值程序,这里不再过多赘述。

6.7K30

数组排序,实现升序降序,输出最大值最小值

运行结果 循环运行结果去除最后一个, > <可以查看我for循环去除去后一个符号这篇博文 从小到大排序输出:13.14 < 52.1 < 66.6 < 99.99 < 100.0 从大到小排序输出:100.0...> 99.99 > 66.6 > 52.1 > 13.14 最小值是:13.14 最大值是:100.0 定义数组 // 定义数组 double[] arr = {66.6, 52.1, 100, 99.99...// 输出最小值 下标为0元素(第一个元素) System.out.println("最小值是:" + arr[0]); 输出最大值 // 输出最大值 下标arr.length-1元素(最后一个元素...{ // 定义数组 double[] arr = {66.6, 52.1, 100, 99.99, 13.14}; // 排序(默认升序)...下标为0元素(第一个元素) System.out.println("最小值是:" + arr[0]); // 输出最大值 下标arr.length-1元素(最后一个元素

1.3K10

查找排序数组最小值(js)

题目 在由小到大已排序未知数组中,以某个元素为支点旋转(好比将序列沿着前后顺序围成环移动)得到了一个数组,请找出该数组最小值。...比如倘若原数组(对我们而言,并不知道原数组是什么)为0,1,2,3,4,5,6,7,可能经过旋转后得到数组 3,4,5,6,7,0,1,2。请找出旋转后数组最小值(假定数组中没有重复数字)。...从旋转点分开两段数组都是有序,而且前面数组值都要大于后边子数组元素,所以要找旋转后数组最小值也就是两个有序数组分界线。...所以有点像数学中夹逼准则,有两个指针分别从数组开头结尾想目的地不断逼近,直到缩小范围成为一个点,则是目标值。...,arr[mid]不可能是最小值 9 start=mid+1 10} 11else { 12 // 对于原本升序数组,此时arr[mid]有可能是最小值 13 end= mid 14

2.9K40

一个数组中找最大值最小值

这个不是lintcode里题目,但是感觉很经典,放在这里。 给定一个数组,在这个数组中找到最大值最小值。...最近在看一点算法书,看到分治法经典金块问题,实质就是在一个数组中找到最大值最小值问题。 我们用分治法来做,先把数据都分成两两一组,如果是奇数个数据就剩余一个一组。...如果是偶数个数据,就是两两一组,第一组比较大小,分别设置为maxmin,第二组来了自己本身内部比较大小,用大max进行比较,决定是否更新max,小同样处理,以此类推。...如果是奇数个数据,就把minmax都设为单个那个数据,其他类似上面处理。 书上说可以证明,这个是在数组中(乱序)找最大值最小值算法之中,比较次数最少算法。...瞄了一眼书上写法,还是很简单,一遍过。 //这是一中分治法,这是在寻找最大值最小值比较次数最小方法。

2.6K10

Java中获取一个数组最大值最小值

1,首先定义一个数组; //定义数组并初始化 int[] arr=new int[]{12,20,7,-3,0}; 2,将数组第一个元素设置为最大值或者最小值; int max=arr[0...];//将数组第一个元素赋给max int min=arr[0];//将数组第一个元素赋给min 3,然后对数组进行遍历循环,若循环元素比最大值还要大,则将这个元素赋值给最大值;同理,若循环元素比最小值还要小...,则将这个元素赋值给最小值; for(int i=1;i<arr.length;i++){//从数组第二个元素开始赋值,依次比较 if(arr[i]>max){//如果arr[i]大于最大值...int[] arr=new int[]{12,20,7,-3,0}; int max=arr[0];//将数组第一个元素赋给max int min=arr[0];//将数组第一个元素赋给...min for(int i=1;i<arr.length;i++){//从数组第二个元素开始赋值,依次比较 if(arr[i]>max){//如果arr[i]大于最大值,就将arr

6.3K20

Python ---- 算法入门(2)分治算法解决【找数组最大值最小值】问题

题目 查找数组(序列)中最大值最小值算法有很多,接下来我们以 [12,16,7,9,8] 序列为例讲解两种查找最值算法。 2....普通循环对比获取最大值最小值 如果列表没有值,直接返回-1; 将列表中第一个值赋值给minmax,默认最大和最小; 循环列表,获取当前值min或max进行对比; 当 min > cur_value...; 递归回调,获取右边列表最大值; 注意:此处切割,会将列表不断分,直到列表中只存在一个或两个元素时,获取最大返回,然后再左边右边比较,返回最大值。...,获取左边列表最小值; 递归回调,获取右边列表最小值; 注意:此处切割,会将列表不断分,直到列表中只存在一个或两个元素时,获取最小返回,然后再左边右边比较,返回最小值。...:", max) min = get_min(lists, 0, len(lists) - 1) print("最小值:", min) # 通过对比获取列表中最大值最小值 min_and_max

1.5K10

查找二维数组最大值及其位置

查找二维数组最大值及其位置-Java实现 例: 封装一类 MatrixLocation,查询二维数组最大值及其位置。...最大值用 double 类型maxValue 存储,位置用 int 类型 row column 存储。封装执行主类,给定二维数组,输出最大值及其位置。封装执行主类。...这道题目就是一道简单二维数组查找问题,遍历二维数组即可找到最大值。...方法不能其实有一些问题,它只能输出最大值数组中第一次出现位置,这是由于题目已经规定好了最大值下标用int row、int column表示。...如果自己写的话,可以用另外两个数组分别保存最大值行下标与列下标,实现将最大值数组中所有出现位置都输出。

2.2K20

Excel公式技巧55:查找并获取最大值最小值所在工作表

学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧54:在多个工作表中查找最大值最小值》中,我们在MAX/MIN函数中使用多工作表引用来获取最大值/最小值。...现在更进一步,我们想要获取最大值/最小值所在工作表名称。 我们仍然使用上篇文章示例,工作表Sheet1、Sheet2Sheet3中数据分别如下图1至图3所示。 ? 图1 ? 图2 ?...图3 我们知道这3个工作表中最小值1位于工作表Sheet2,最大值150位于工作表Sheet3,那么如何使用公式获取对应工作表名称呢?...A1:D4"),C2) 分别统计各个工作表中值为单元格C2中个数,得到数组: {0;1;0} 然后判断该数组元素是否大于0,得到数组: {FALSE;TRUE;FALSE} 代入MATCH函数中,...代入INDEX函数中,得到: INDEX(A2:A4,2) 结果为单元格A3中值: Sheet2 同理,在单元格D3中数组公式为: =INDEX(A2:A4,MATCH(TRUE,COUNTIF(INDIRECT

2.3K30

数组中移除最大值最小值(一次遍历)

题目 给你一个下标从 0 开始数组 nums ,数组由若干 互不相同 数组成。 nums 中有一个值最小元素一个值最大元素。分别称为 最小值 最大值 。...你目标是从数组中移除这两个元素。 一次 删除 操作定义为从数组 前面 移除一个元素或从数组 后面 移除一个元素。 返回将数组最小值最大值 都 移除需要最小删除次数。...将最大值最小值都移除需要从数组前面移除 2 个元素, 从数组后面移除 3 个元素。 结果是 2 + 3 = 5 ,这是所有可能情况中最小删除次数。...数组最大元素是 nums[2] ,值为 19 。 将最大值最小值都移除需要从数组前面移除 3 个元素。 结果是 3 ,这是所有可能情况中最小删除次数。...示例 3: 输入:nums = [101] 输出:1 解释: 数组中只有这一个元素,那么它既是数组最小值又是数组最大值。 移除它只需要 1 次删除操作。

1.8K10
领券