最后一道算法题的Java代码,大佬轻喷 public class _1找出数组中比左边大比右边的小的元素 {     public static void main(String[] args) {         int[] arr = new int[]{2, 3, 1, 8, 9, 20, 12};         method(arr);     }          public static void method(int[] arr) {         int len = arr.length;         int[] rightMin = new int[len]; //        将最后一个元素初始划为最小元素         int curMin = arr[len - 1]; //        从倒数第二个开始计算         for (int i = len - 2; i >= 0; i--) {             rightMin[i] = curMin; //            如果当前值比最小值小,就对curMin进行更新             if (arr[i] < curMin)                 curMin = arr[i];         } //        然后从左向右找每个元素的左边最大值         int[] leftMax = new int[len];         int curMax = arr[0]; //        第一个和最后一个元素不计入结果         for (int i = 1; i < len - 1; i++) {             if (arr[i] > curMax) {                 if (arr[i] < rightMin[i]) {                     System.out.print(arr[i] + " ");                 } //                不要忘记更新最大值                 curMax = arr[i];             }         }     } }