java代码可以打印当前数字右边的最大数字,最后一个数字应该打印1
该代码用于打印当前数字右侧的最大数字,最后一个数字应打印-1
import java.util.Scanner;
public class Maxtoright {
public static void main(String[] args) {
Scanner sc = newScanner(System.in);
int t= sc.nextInt();
while(t-->0) {
int n=sc.nextInt();
int a[]= new int[n];
for(int i=0;i<n;i++) {
a[i]=sc.nextInt();
}
if(n==1) {
System.out.print("-1");
}
if(n==2) {
System.out.print(a[n-1]+"-1");
}
if(n>2) {
for(int i=0;i<n-2;i++) {
int max= a[i+1];
for(int j=i+1;j<n-2;j++) {
if(a[j]>max) {
max=a[j];
}
// System.out.print(max+" ");
}
System.out.print(max+" ");
}
System.out.print(a[n-1]+" "+"-1");
}
}
}
区块报价
# 1 楼答案
据我所知,你有一个未排序的数组,比如: [1, 10, 20, 18, 30] 然后,您希望用户获得用户输入,即数组中的一个数字,并找到其右侧的最大数字。例如,如果输入是10,它将输出30,但如果是最后一个数字,它将只输出-1
# 2 楼答案
如果要求数组中的每个元素都找到右边最大的元素。(最后一个元素为-1)