形如:int [] nums = {7,2,8,9,1,12};
解一:两两比较并记录下标,下次比较拿上次比较的最大值和上次比较的下一个进行比较,循环一次找出最大值
1 /** 2 * @author 马向峰 比较一遍找出最大值 3 * @param arr 4 * @return 5 */ 6 private static int getMaxNum(int[] arr) { 7 8 // 记录下标 9 int index = 0; 10 // 假设第一个为最大值 11 int max = arr[0]; 12 for (int i = index; i < arr.length; i++) { 13 if (i + 1 < arr.length && max < arr[i + 1]) { 14 index = i + 1; 15 max = arr[i + 1]; 16 } 17 } 18 return max; 19 }
解二:冒泡排序法
1 private static int findMaxNum(int[] arr) { 2 3 for (int i = 0; i < arr.length; i++) { 4 for (int j = 0; j < arr.length - i - 1; j++) { 5 if (arr[j] < arr[j + 1]) { 6 int temp = arr[j]; 7 arr[j] = arr[j + 1]; 8 arr[j + 1] = temp; 9 } 10 } 11 } 12 13 return arr[0]; 14 }
时间: 2024-10-27 09:06:42