取双元素法。维持两个变量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. 连通域最小外接矩形算法原理_基于分割的文本检测算法之PSENet/PAN/DBNet
  2. eclipse安装SVN插件的两种方法
  3. C51 特殊功能寄存器
  4. NET问答: 如何使用 C# 比较两个 byte[] 的相等性 ?
  5. java构建内存池队列_池化技术(线程池、连接池、内存池等)
  6. 浅谈c++中结构体和共用体的区别
  7. (转)如何在Windows下使用OpenGL 2.0的API(包括GLSL)
  8. 《Java 开发从入门到精通》—— 2.4 Java的运行机制
  9. Java进阶:SpringMVC中自定义类型转换器
  10. 产品经理如何搭建自己的知识地图?
  11. ios android 系统占用空间,iOS 系统占用了 20G 储存空间?别担心,教你快速解决!...
  12. Ubuntu linux ls 看到目录文件夹绿色高亮问题
  13. 寻找亚马逊测评师邮箱_关于亚马逊测评一些普及
  14. arcEngine开发之IMapControl接口
  15. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'WLog' 中的标识列插入显式值。
  16. PHP开发的H5即时通讯聊天系统源码 带群聊 可封装APP
  17. Win7系统彻底删除打印机驱动
  18. 微信开发者工具配置连接Gitee
  19. SMTP协议:使用telnet发邮件【纯纯小白】
  20. UL-1973-2022 储能电池安全标准

热门文章

  1. 一文读懂自动驾驶中的机器人操作系统ROS
  2. 计算机与小学教学联系论文,湖南自考本科论文从小学计算机教学实践谈学生“主体性”的发展 - 湖南自考生网...
  3. 开学季征文 | 百尺竿头,我们都要更进一步
  4. python休假管理_Python 假期自学小结 其六
  5. API,SDK和API之间的关系和区别
  6. tf.nn,tf.layers, tf.contrib模块介绍
  7. html如何使表单在页面居中显示,html怎样将表单居中
  8. 塔望3W消费战略全案丨品类重新定义 打造金皇品高端速食第一面
  9. chinaren同学录的字数倒记数
  10. On-Demand Resources Guide中文版(按需加载资源--下)