比较次数最小的前提下,求数列的最大和最小值(Java实现)

 1 /**
 2  * 在一组数字当中,在尽可能小的比较此处的前提下,获取最大值和最小值
 3  * @author JimmyPC
 4  *
 5  */
 6 public class Problem_MinMax {
 7
 8     public class Node {
 9         public int min;
10         public int max;
11     }
12     //获取最大最小值
13     public Node getMinMax(int a[],int n){
14         Node minmax = new Node();
15         int i;
16         if(n%2 ==0){
17             if(a[0] >a[1]){
18                 minmax.max = a[0];
19                 minmax.min = a[1];
20             }else{
21                 minmax.max = a[1];
22                 minmax.min = a[0];
23             }
24             i = 2;
25         }else{
26             minmax.max = a[0];
27             minmax.min = a[0];
28             i = 1;
29         }
30
31         while(i < n-1){
32             if(a[i] > a[i+1]){
33                 if(a[i] > minmax.max){
34                     minmax.max = a[i];
35                 }
36                 if(a[i+1] < minmax.min){
37                     minmax.min = a[i+1];
38                 }
39             }else{
40                 if(a[i+1] > minmax.max){
41                     minmax.max = a[i+1];
42                 }
43                 if(a[i] < minmax.min){
44                     minmax.min = a[i];
45                 }
46             }
47             i+= 2;
48         }
49         return minmax;
50     }
51
52     /**
53      * @param args
54      */
55     public static void main(String[] args) {
56         int arr[] = {1000, 11, 445, 1, 330, 3000};
57         int arr_size = 6;
58         Node minmax = new Problem_MinMax().getMinMax(
59                 arr, arr_size);
60         System.out.println("Minimum element is " + minmax.min);
61         System.out.println("Maximum element is " + minmax.max);
62
63     }
64 }

参考:http://blog.csdn.net/jiyanfeng1/article/details/8541886,http://www.geeksforgeeks.org/maximum-and-minimum-in-an-array/
时间: 2024-11-10 00:09:41

比较次数最小的前提下,求数列的最大和最小值(Java实现)的相关文章

ACdream 1135(MST-最小生成树边上2个值,维护第一个最小的前提下让另一个最小)

F - MST Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitStatus Problem Description Given a connected, undirected graph, a spanning tree of that graph is a subgraph that is a tree and connects all the vertices to

(hdu step 6.1.2)Eddy&#39;s picture(在只给出二维坐标点的情况下,求让n个点连通的最小费用)

题目: Eddy's picture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 172 Accepted Submission(s): 126   Problem Description Eddy begins to like painting pictures recently ,he is sure of himself to be

算法有序数组合并---在空间足够的情况下,进行O(n)的合并 并且移动次数最小

最近看一本书上有一个面试题,  原题目是 有两个递增数组 A1 A2,   A1的内存空间足够长, 现在要求合并 A2到A1,并且要求移动次数最小 ,面试的时候 我们尽量要以  最高效的方式完成 ,下面是此题  O(n)解法. ///合并 void MergeArray(int *arrA1,int *arrA2,int nLenA1,int nLenA2) { if(!arrA1||!arrA2) return ; //合并后的尾部 int *pBehandA1=(arrA1+nLenA1-1

【HackerRank】Insertion Sort Advanced Analysis(归并排序求数列逆序数对)

Insertion Sort is a simple sorting technique which was covered in previous challenges. Sometimes, arrays may be too large for us to wait around for insertion sort to finish. Is there some other way we can calculate the number of times Insertion Sort

【机智题?】求数列中众数

求数列中众数 & 唯一出现为奇次数 前言: 我们的生活中经常有很多令人叫绝的优秀算法.他们往往既不冗长,也不笨拙. 蒟蒻的我能写暴力!虽然不是说不可以这么写算法,只是毕竟是算法竞赛,这样搭建的程序终究还是经不起考验的. 就如大算法(大?),让小算法组合成大算法,虽然有时不太容易能看出整体的效率,那我们为何不让每部分最优呢.(最优子结构?) 时间,空间, 我们不仅要能互换代价,还要让它们同时缩小! 正文: (-  . -) 嗯... 那个,啥,以上的前言等于啥都没说.不用管我就是了. 我们直接看题

不修改用户密码的前提下,解锁用户

不修改用户密码的前提下,解锁用户 1.0需求:某用户通知,无法登陆,用户被锁定,但是密码不知道 或者 不告诉你 1.1:用户被锁定:几种可能性 A用户使用默认Pfile概要文件,其中参数: -- PASSWORD_LIFE_TIME 180          密码有效保留时间 B用户使用默认Pfile概要文件,其中参数: -- FAILED_LOGIN_ATTEMPTS 10        登录失败后,允许尝试登录的次数 -- PASSWORD_LOCK_TIME   1      登录失败后,

Centos7最小化安装下安装,编译lamp环境

centos7默认的php是5.5,mysql已经变为mariadb,如果想要自定义的配置,需要自己手动来编译配置.以下步骤在公司服务器上已经正常操作过. 1.安装centos7选择基本安装,配置完网络后首先要先关闭firewall: 停止firewall # systemctl stop firewalld.service 禁止firewall开机启动 # systemctl disable firewalld.service 2.安装iptables防火墙 yum方式安装iptables #

【执行力决定命】第4集《有价值的额外贡献,要建立在做好本职前提下》

「音频原文」http://dwz.cn/6sAOCC 大家好,我是林琳笨,今天一起分享<有价值的额外贡献,要建立在做好本职前提下> 先引用一个华为内部的故事: 华为有个新员工,入职没几天,做了几十页的发展战略书,打算交给任正非任总,他想就算做的不好,任总也能鼓励我一下,没想到任总直接把方案扔垃圾桶,批评说:不要想着做惊且动地变革,先从小事做起,老实把自己任务完成. 记得前几年,安排一位同事做我临时助理陪我去深圳出差,事前说好他主要负责5个深圳合作方确定约见时间.地点.记录和后续跟进.当天晚上抵

(hdu step 1.3.1)FatMouse&#39; Trade(在收入需要一定的付出的情况下求最大收入)

题目: FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5092 Accepted Submission(s): 1530   Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats gua