/**
* 通过索引获取最大值
*
*
*/
public class Test1 {
        public static void main(String[] args) {
                int[] arr = {11,22,33,44,55,66};
                int max = getMax(arr);
                System.out.println(max);
                System.out.println("=======================");
                int max2 = getMaxByIndex(arr);
                System.out.println(max2);
                
                System.out.println("----------------------");
                int max3 = getMax(arr, true);
                System.out.println(max3);
                System.out.println("**************************");
                int max4 = getMax(arr,false);
                System.out.println(max4);
        }
        //通过假定数组中的第一个元素是最大值,然后不断的进行判断,最终获取对大值
        public static int getMax(int[] arr){
                int max = arr[0];//假设数组的第一个元素为最大值
                for(int i=0;i<arr.length;i++) {
                        if(max<arr[i]) {
                                max = arr[i];
                        }
                }
                return max;
        }
        /**
         * 此方法可以求出数组对应的最大值或者最小值
         * @param arr
         * @param flag :true:表示求最大值,false:表示求最小值
         * @return
         */
        public static int getMax(int[] arr,boolean flag){
                int max = arr[0];//假设数组的第一个元素为最值
                for(int i=0;i<arr.length;i++) {
                        if(flag) {
                                if(max<arr[i]) {
                                        max = arr[i];
                                }                                
                        } else {
                                if(max>arr[i]) {
                                        max = arr[i];
                                }
                        }
                }
                return max;
        }
        
        //通过获取最大值的角标,最终返回该角标对应的数值
        public static int getMaxByIndex(int[] arr){
                int max = 0;//假设数组的角标为0的元素是最大的
                for(int i=0;i<arr.length;i++) {
                        if(arr[max]<arr[i]) {
                                max = i; //max中存储的是当前最大值所对应的角标
                        }
                }
                return arr[max];
        }
        
}

AJPFX关于通过索引获取最大值的思路的更多相关文章

  1. 运行期以索引获取tuple元素-C++14

    在编译期很容易根据索引来获取对应位置的元素,因为 tuple 的帮助函数 std::get<N>(tp) 就能获取 tuple 中第 N 个元素.然而我们却不能直接在运行期通过变量来获取 ...

  2. 运行期以索引获取tuple元素-C++17

    //运行期以索引获取tuple元素-C++17 //需支持C++17及以上标准的编译器,VS2017 15.5.x.CodeBlocks 16.01 gcc 7.2 //参见:http://purec ...

  3. 运行期以索引获取tuple元素-C++11之2

    //运行期以索引获取tuple元素-C++11之2 //需支持C++11及以上标准的编译器,VS2017 15.5.x.CodeBlocks 16.01 gcc 7.2 //参见<深入应用C++ ...

  4. 运行期以索引获取tuple元素-C++11之1

    //运行期以索引获取tuple元素-C++11之1 //需支持C++11及以上标准的编译器,VS2017 15.5.x.CodeBlocks 16.01 gcc 7.2 //参见<深入应用C++ ...

  5. 运行期以索引获取tuple元素-C++14(原创)

    在编译期很容易根据索引来获取对应位置的元素,因为 tuple 的帮助函数 std::get<N>(tp) 就能获取 tuple 中第 N 个元素.然而我们却不能直接在运行期通过变量来获取 ...

  6. [Swift]字符串根据索引获取指定字符,依据ASCII实现字符和整数的相互转换

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...

  7. IBOutletCollection 索引获取顺序问题

    在sb中绑定了一个IBOutletCollection后,根据索引获取元素发现和自己拖线时的顺序不同,有时又会根据顺序,不知道是xcode的bug还是本身就是无序的. 在使用的时候直接排序: - (v ...

  8. jquery通过索引获取元素

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. mysql,字符串类型id,获取最大值

    说明,这个id是字符串类型,但是实际值是一个整数,获取最大值的方法是: select max(cast(id as SIGNED)) from table 另外,mysql生成伪列的方法: SELEC ...

随机推荐

  1. 深入源代码解析Android中的Handler,Message,MessageQueue,Looper

    本文主要是对Handler和消息循环的实现原理进行源代码分析.假设不熟悉Handler能够參见博文< Android中Handler的使用>,里面对Android为何以引入Handler机 ...

  2. eclipse中导入其它的webproject遇到和解决的问题

    注:下面为我从网上搜来的方法.经使用及学习后整理. 学习javaweb有段时间了.对于导入新项目.遇到好多问题.但终于成功了. 错误1:string cannot be resolved to a t ...

  3. Android TabHost设置setCurrentTab(index),当index!=0时,默认加载第一个tab问题解决方法。

    最近在用TabHost,默认希望显示第2个tab,发现总是加载第三个tab的同时加载第一个,解决方法如下: 1.首先查看addTab(TabSpec tabSpec)源代码: /** * Add a ...

  4. Tomcat 安装错误

    安装tomcat时,遇到"failed to install tomcat6 service check your settings and permissions"的问题 安装时 ...

  5. instruction set汇总

    1 aarch64 它armv8-A架构的一种执行状态,之所以说它是一种执行状态是因为,armv8-A还有aarch32这个执行状态.aarch64是64位执行状态,aarch32是32位的执行状态. ...

  6. 定时任务 bash 对远程数据库 备份 读写

    1g表 每行都有可能被更新,故全表备份 检测备份是否在进行 [root@hadoop1 ~]# netstat --numeric-ports | grep 3306tcp        0      ...

  7. Linux如何查看进程等常用命令

    1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程序.    ps c 列出程序时,显示每个程序真正的 ...

  8. C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法

    以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流. 一定要在com实例化的时候设置ReceivedBytesThreshol ...

  9. caioj1270: 概率期望值1:小象涂色

    DP深似海,得其得天下.——题记 叕叕叕叕叕叕叕叕叕叕叕(第∞次学DP内容)被D飞了,真的被DP(pa)了.这次D我的是大叫着第二题比较难(小象涂色傻b题)的Mocha(zzz)大佬,表示搞个概率DP ...

  10. sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY

    原生API提供的匹配筛选.排序和分组配置和SQL语法提供的WHERE.ORDER BY和GROUP BY语句的效果是一样的,你可以对匹配结果进行你需要的筛选.排序和分组匹配.例如,如果你要搜索MySQ ...