三月18号360测评剪气球,只能通过69%,求大神指导下
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
int len=cin.nextInt();
int[] arr=new int[len];
for(int i=0;i<len;++i){
arr[i]=cin.nextInt();
}
System.out.println(solution(arr));
cin.close();
}
public static int solution(int[] arr){
int sum=1;
int len=arr.length;
int startIndex=0;
for(int i=1;i!=len;){
while(i!=len && arr[i]!=arr[i-1]){
i++;
}
sum *=subArrMethod(i-startIndex);
while(i!=len && arr[i]==arr[i-1]){
i++;
}
startIndex=i-1;
}
return sum;
}
public static int subArrMethod(int n){
return (int)Math.pow(2, n-1);
}
}
#360公司#
查看2道真题和解析