如何寻找数组中最大值与最小值(取双元素法)
取双元素法。维持两个变量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看一遍就好啦~感觉大部分还是用问题分解法,把这种问题分为两个步骤,先找到最大值,再找到最小值,就是会遍历两次数组,效率不如这个取双元素法
如何寻找数组中最大值与最小值(取双元素法)相关推荐
- 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值
题目: 利用指针函数,求某数组中的最大值和最小值. 实现代码: /* ================================================================= ...
- 取数组中最大值和最小值
将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值: 开始遍历数组,从第二个元素开始依次和第一个元素进行比较 如果当前的元素大于当前的最大值,就把当前的元素值赋值给最大值 移动到下一个元素,继 ...
- es6 数组找最大值_JavaScript 查找数组中最大值与最小值
最小值算法如下: 将数组中第一个元素赋值给一个变量,把这个变量作为最小值: 开始遍历数组,从第二个元素开始依次和第一个元素进行比较: 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值: ...
- 找最大数及下标 指针 c语言,c语言求数组中最大值和最小值及其下标
思路:假定一个数为最大值,如果有个数比假定的最大值还大,那么该数就为最大值. 最小值同理. 使用for循环. */ public class MaxMin{ public static void ma ...
- 求一维数组中最大值和最小值
#include<stdio.h> int niubi_max(int a[]); // 函数声明类型与定义类型应该相同,不能声明是 int,定义是 int a[] int niub ...
- 蓝桥杯 ALGO-49 算法训练 寻找数组中最大值
问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于100.输出数据分作两行: 第一行只有一个数,表示数组元素个数:第二行为数组的各个元素. ...
- python寻找list中最大值、最小值并返回其所在位置
c = [-10,-5,0,5,3,10,15,-20,25] print c.index(min(c)) # 返回最小值 print c.index(max(c)) # 返回最大值 转载于:htt ...
- 寻找数组中 的最大值最小值
最简单的方法就是N中的每个数分别和max,min比较,看似2N次比较,其实大于max的就不必和min比较,小于min的也不必和max比较,因此比较的次数不足2N次,程序如下: [cpp] view p ...
- c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...
matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...
最新文章
- [HNOI2002] Kathy 函数
- 探讨.NET Core中实现AES加密和解密以及.NET Core为我们提供了什么方便!
- C# 导出word文档及批量导出word文档(2)
- 浅谈企业软件架构(5)
- Microsoft Office Visio
- P1005 采药(Tyvj)
- MySQL优化排名语句
- Chapter1-5_Speech_Recognition(Alignment of HMM, CTC and RNN-T)
- JSP中URL路径获取问题
- Python实现字符串对齐
- 计算机网络安全基础知识
- XenApp_XenDesktop_7.6实战篇之十七:XenApp应用程序交付
- 50多款51单片机程序源码原理图编程源代码
- 矩阵乘法Java实现
- Android系统启动过程-uBoot+Kernel+Android
- matlab coder 4.0,利用MATLAB Coder将MATLAB代码生成C/C++代码
- STIM300读取数据
- tensorflow2系类知识-4 :RNN
- 【RT-Thread Master】at24cxx软件包使用笔记
- 2012-2-25 《数据结构》读书笔记3 栈之迷宫求解
热门文章
- 企业微信三方开发(五):扫码登录
- 如何正确的打开google
- 乐博机器人Arduino周五班级,入门课程,碰撞开关控制灯闪烁
- 统计输入字符串中大写字母、小写字母、阿拉伯数字个数和特殊符号的个数
- 浅析2017年医疗类APP开发前景
- 黑客丛林之旅--全攻略学习(详细)
- 微信小程序动态点赞php,微信小程序小组件 基于Canvas实现直播点赞气泡效果
- 护眼灯到底有用吗?2022市面上这几款护眼灯真的能护眼
- 免费开源的云尚发卡V1.5.7
- mac机c4d更改语言,Win/Mac版:C4D R18 三维软件 Cinema 4D C4D R18 正式完整版 + 中文/英文注册机版...