编程之美2.10 寻找数组中的最大值和最小值
2016-12-06 09:15
337 查看
//思路:分治思想。分别求出前后N/2个数的Min和Max。 import java.util.Scanner; public class BeautyPro210 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); int[] arr = new int ; for (int i = 0; i < n; i++) { arr[i] = scanner.nextInt(); } int[] result = searchMinMax(arr, 0, n - 1); System.out.println(result[0]); System.out.println(result[1]); } } public static int[] searchMinMax(int[] arr, int low, int high) { int[] result = new int[2]; if (high - low <= 1) { if (arr[low] <= arr[high]) { result[0] = arr[low]; result[1] = arr[high]; return result; } else { result[0] = arr[high]; result[1] = arr[low]; return result; } } int[] leftMinMax = searchMinMax(arr, low, low + (high - low) / 2); int[] rightMinMax = searchMinMax(arr, low + (high - low) / 2 + 1, high); if (leftMinMax[0] < rightMinMax[0]) { result[0] = leftMinMax[0]; } else { result[0] = rightMinMax[0]; } if (leftMinMax[1] < rightMinMax[1]) { result[1] = rightMinMax[1]; } else { result[1] = leftMinMax[1]; } return result; } }
相关文章推荐
- 编程之美2.10 寻找数组的最大值和最小值
- 寻找数组中的最大值和最小值(编程之美2.10,包括最大值和次大值)
- 《编程之美》2.10 寻找数组中的最大值和最小值
- 编程之美2.10寻找数组中的最大值和最小值代码
- 编程之美2.10寻找数组中的最大值和最小值扩展问题Java版
- 编程之美2.10 寻找数组中的最大值和最小值
- 编程之美2.10 寻找数组中的最大值和最小值
- 寻找数组中的最大值和最小值(编程之美2.10)
- 寻找数组中的最大值和最小值(编程之美2.10,包括最大值和次大值)
- 编程之美2.10 寻找数组中的最大值和最小值
- 编程之美2.10:寻找数组中的最大值和最小值
- 寻找数组中的最小值和最大值——编程之美2.10
- 编程之美2.10 寻找数组中的最大值和最小值
- 2.10 用最少次数寻找数组中的最大值和最小值[find min max of array]
- js同时寻找数组中最大值和最小值,编程之美解法三
- 2.10 寻找数组中的最大值和最小值
- 《编程之美》学习笔记——2.10寻找数组中的最大值和最小值
- 编程之美读书笔记2.10—寻找数组中的最大值和最小值
- 读书笔记之编程之美 - 2.10 寻找数组中的最大值和最小值
- 编程之美_2.10_寻找数组中的最大值和最小值