import java.util.Scanner; //58题    我考虑在遍历每一个数的时候把前面最小值标记出来,如果现在遍历的数比标记的最小值还是小,那就直接输出-1,这样只有在前面存在比当前数小的情况下才会逆向遍历前面的数 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int arr[] = new int[n]; int brr[] = new int[n]; for (int i = 0; i < arr.length; i++) { arr[i] = sc.nextInt(); } brr[0] = -1; int min=arr[0]; for (int i = 1; i < arr.length; i++) { if(arr[i]<arr[i-1]){ min=arr[i]; } if(arr[i]<min){ brr[i] = -1; continue; } for (int j = i; j >= 0; j--) { if (arr[i] > arr[j]) { brr[i] = arr[j]; break; } else { brr[i] = -1; } } } for (int i = 0; i < brr.length; i++) { System.out.print(brr[i] + " "); } } }
点赞 评论

相关推荐

03-25 16:22
南华大学 Java
不敢追175女神:你是打了上千个招呼吧?😂
点赞 评论 收藏
分享
04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
牛客网
牛客企业服务