1
Check the complete problem here廚師和彩虹陣列(檢查數組是迴文陣列)
廚師喜歡所有陣列相等。但他比其他人更喜歡一些陣列。特別是他喜歡彩虹陣列。
數組是彩虹如果它具有以下結構:
首先A1元素等於1 接着A2元素等於2. 接着A3元素等於3. 接着A4元素等於4. 接着A5元件等於5. 接着A6元素等於6. 接着A7元素等於7. 接着A6元素等於6. 接着A5元素等於5. 接着A4元素等於4. 接着A3元素等於3. 接着A2元素等於2. 下一步a1元素等於1. ai可以是任何非零的正整數。 數組中沒有其他元素。
幫助廚師找出給定的數組是否是彩虹數組。 這是我的代碼,在NetBeans上完美運行,但在CodeChef上說錯了。
import java.util.Scanner;
class RAINBOWA {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int testCases, noOfElements,i,j,k;
boolean t=false;
testCases = sc.nextInt();
int a [][] = new int[testCases][1000];
String opString[];
opString = new String[testCases];
for(i=0; i<testCases; i++)
{
noOfElements = sc.nextInt();
for(j=0; j<noOfElements; j++)
{
a[i][j] = sc.nextInt();
}
for(j=0,k=(noOfElements-1); j<(noOfElements/2); j++,k--)
{
if(((noOfElements%2)==0) && a[i][j]==a[i][k])
{
t=true;
}
else if((noOfElements%2)!=0 && a[i][j]==a[i][k])
{
if(a[i][((int)noOfElements/2)-1]+1==a[i][(int)noOfElements/2])
{
t=true;
}
}
else
{
t=false;
break;
}
}
if(t==true)
{
opString[i]="yes";
t=false;
}
else
opString[i]="no";
}
for(i=0; i<testCases; i++)
{
System.out.println(opString[i]);
}
}
}