算法题:找出同一个序列中的最大值和最小值
2015-01-27 22:25
267 查看
package arithmetic; /** * 同时找出一个序列中最大值和最小值 * 分两种情况:(1)序列只有两个元素 * (2)序列有多个元素,有多个元素分别从序列的两端开始查找 * @author SHI */ public class MaxAndMin { public static void main(String[] args) { int[] a = { 122, 41, 4, 5, 7, 2, 89, 122, 34, 56 }; int low = 0; int high = a.length - 1; int max = 0; int min = 0; // 序列就只有两个元素 if (a[0] < a[high] && a.length == 2) { min = a[0]; max = a[high]; } else { min = a[high]; max = a[max]; } // 序列中有多个元素存在,思想:从序列的两端开始遍历 while (++low <= --high) { if (a[low] <= a[high]) { if (a[low] < min) { min = a[low]; } if (a[high] > max) { max = a[high]; } } else { if (a[low] > max) { max = a[low]; } if (a[high] < min) { min = a[high]; } } } System.out.println(max + " " + min); } }
相关文章推荐
- 一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。 复杂度如果是O(n2)则不得分。
- 一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。复杂度如果是O(n2)则不得分。
- 14、一棵排序二叉树,令 f=(最大值+最小值)/2, 设计一个算法,找出距离f值最近、大于f值的结点。
- 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。
- 一棵排序二叉树,令 f=(最大值+最小值)/2, 设计一个算法,找出距离f 值最近、大于f 值的结点。 复杂度如果是O(n2)则不得分
- 二叉排序树中,令f = (最大值+最小值) / 2,设计一个算法, 找出距离f值最近、大于f值的结点。复杂度不能为O(n2)。
- 算法题:找出一个数组中相加值最大的连续序列元素
- 写出一个算法,对给定的n个数的序列,返回序列中的最大和最小的数
- 电子科技大学推免复试题:利用递归方法找出一个数组中的最大值和最小值
- 一个无序整数数组,数组元素大于5个,请用一种高效的算法找出其中最大的5个值.
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
- 求把一个序列分为两个两组,两组各自和相差最小的最大的那个和
- 一棵排序二叉树(即二叉搜索树BST),令 f=(最大值+最小值)/2,设计一个算 //法,找出距离f值最近、大于f值的结点。复杂度如果是O(n2)则不得分。
- 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小(也可能没有鞍点)
- 探讨一个好算法——找出一百万个数字中十个最大数字的算法
- 【c语言】:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
- [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。
- 查找一个序列的最大值和最小值
- 一个整数数组(正负,0),找出这个数组的最大子序列
- 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。