取双元素法。维持两个变量MAX_VALUE和MIN_VALUE,MAX_VALUE标记为最大值,MIN_VALUE标记为最小值,每次比较相邻的两个数较大者与max比较,较小者与min比较,通过比较找到最大值和最小值,这个方法的比较次数为1.5N次

示范代码如下:

public class LookForTheMaximumAndMinimumValuesInTheArray {static int MAX_VALUE;static int MIN_VALUE;public static void GetMaxAndMinByArray(int arr[]) {MAX_VALUE = arr[0];MIN_VALUE = arr[0];int arrLength = arr.length;for (int i = 1; i < arrLength - 1; i += 2) {if (i + 1 > arrLength) {if (arr[i] > MAX_VALUE) MAX_VALUE = arr[i];if (arr[i] < MIN_VALUE) MIN_VALUE = arr[i];}//大的跟大的比 小的跟小的比~if (arr[i] > arr[i+1]) {if (arr[i] > MAX_VALUE) MAX_VALUE = arr[i];if (arr[i+1] < MIN_VALUE) MIN_VALUE = arr[i+1];}if (arr[i] < arr[i+1]) {if (arr[i+1] > MAX_VALUE) MAX_VALUE = arr[i+1];if (arr[i] < MIN_VALUE) MIN_VALUE = arr[i];}}}public static void main(String[] args) {int[] array = {520, 20, 100, 1, 3, 20, 52,1314,5200,1314};GetMaxAndMinByArray(array);System.out.println("当前数组中最大值为:" + MAX_VALUE);System.out.println("当前数组中最小值为:" + MIN_VALUE);}
}

运行结果如下:

个人总结:

debug看一遍就好啦~感觉大部分还是用问题分解法,把这种问题分为两个步骤,先找到最大值,再找到最小值,就是会遍历两次数组,效率不如这个取双元素法

如何寻找数组中最大值与最小值(取双元素法)相关推荐

  1. 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值

    题目: 利用指针函数,求某数组中的最大值和最小值. 实现代码: /* ================================================================= ...

  2. 取数组中最大值和最小值

    将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值: 开始遍历数组,从第二个元素开始依次和第一个元素进行比较 如果当前的元素大于当前的最大值,就把当前的元素值赋值给最大值 移动到下一个元素,继 ...

  3. es6 数组找最大值_JavaScript 查找数组中最大值与最小值

    最小值算法如下: 将数组中第一个元素赋值给一个变量,把这个变量作为最小值: 开始遍历数组,从第二个元素开始依次和第一个元素进行比较: 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值: ...

  4. 找最大数及下标 指针 c语言,c语言求数组中最大值和最小值及其下标

    思路:假定一个数为最大值,如果有个数比假定的最大值还大,那么该数就为最大值. 最小值同理. 使用for循环. */ public class MaxMin{ public static void ma ...

  5. 求一维数组中最大值和最小值

    #include<stdio.h> int niubi_max(int a[]);    // 函数声明类型与定义类型应该相同,不能声明是 int,定义是 int a[] int niub ...

  6. 蓝桥杯 ALGO-49 算法训练 寻找数组中最大值

    问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于100.输出数据分作两行: 第一行只有一个数,表示数组元素个数:第二行为数组的各个元素. ...

  7. python寻找list中最大值、最小值并返回其所在位置

    c = [-10,-5,0,5,3,10,15,-20,25] print c.index(min(c))  # 返回最小值 print c.index(max(c)) # 返回最大值 转载于:htt ...

  8. 寻找数组中 的最大值最小值

    最简单的方法就是N中的每个数分别和max,min比较,看似2N次比较,其实大于max的就不必和min比较,小于min的也不必和max比较,因此比较的次数不足2N次,程序如下: [cpp] view p ...

  9. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

最新文章

  1. [HNOI2002] Kathy 函数
  2. 探讨.NET Core中实现AES加密和解密以及.NET Core为我们提供了什么方便!
  3. C# 导出word文档及批量导出word文档(2)
  4. 浅谈企业软件架构(5)
  5. Microsoft Office Visio
  6. P1005 采药(Tyvj)
  7. MySQL优化排名语句
  8. Chapter1-5_Speech_Recognition(Alignment of HMM, CTC and RNN-T)
  9. JSP中URL路径获取问题
  10. Python实现字符串对齐
  11. 计算机网络安全基础知识
  12. XenApp_XenDesktop_7.6实战篇之十七:XenApp应用程序交付
  13. 50多款51单片机程序源码原理图编程源代码
  14. 矩阵乘法Java实现
  15. Android系统启动过程-uBoot+Kernel+Android
  16. matlab coder 4.0,利用MATLAB Coder将MATLAB代码生成C/C++代码
  17. STIM300读取数据
  18. tensorflow2系类知识-4 :RNN
  19. 【RT-Thread Master】at24cxx软件包使用笔记
  20. 2012-2-25 《数据结构》读书笔记3 栈之迷宫求解

热门文章

  1. 企业微信三方开发(五):扫码登录
  2. 如何正确的打开google
  3. 乐博机器人Arduino周五班级,入门课程,碰撞开关控制灯闪烁
  4. 统计输入字符串中大写字母、小写字母、阿拉伯数字个数和特殊符号的个数
  5. 浅析2017年医疗类APP开发前景
  6. 黑客丛林之旅--全攻略学习(详细)
  7. 微信小程序动态点赞php,微信小程序小组件 基于Canvas实现直播点赞气泡效果
  8. 护眼灯到底有用吗?2022市面上这几款护眼灯真的能护眼
  9. 免费开源的云尚发卡V1.5.7
  10. mac机c4d更改语言,Win/Mac版:C4D R18 三维软件 Cinema 4D C4D R18 正式完整版 + 中文/英文注册机版...