Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Chef和Rainbow数组(检查数组是否为回文数组)_Java_Arrays_Palindrome - Fatal编程技术网

Java Chef和Rainbow数组(检查数组是否为回文数组)

Java Chef和Rainbow数组(检查数组是否为回文数组),java,arrays,palindrome,Java,Arrays,Palindrome,厨师对所有阵列都一视同仁。但他喜欢某些数组比其他数组更平等。他特别喜欢彩虹阵列 如果阵列具有以下结构,则称为彩虹: 第一个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可以是任何非零正整数。 数组中没有其他元素 帮助厨师确定给定数组是否

厨师对所有阵列都一视同仁。但他喜欢某些数组比其他数组更平等。他特别喜欢彩虹阵列

如果阵列具有以下结构,则称为彩虹:

第一个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]);
    }
}
import java.util.Scanner;
彩虹A级{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
int测试用例,noOfElements,i,j,k;
布尔t=false;
testCases=sc.nextInt();
inta[][]=newint[testCases][1000];
字符串opString[];
opString=新字符串[testCases];
对于(i=0;i
import java.util.Scanner;
公共级彩虹{
公共静态void main(字符串s[]{
int n,标志=0,否;
扫描仪输入=新扫描仪(系统输入);
系统输出打印(“输入迭代次数”);
否=in.nextInt();

对于(intz=0;zcodechef厨师和彩虹数组问题 100%解决C++解决方案< /P>
   #include<bits/stdc+++.h>
   using namespace std;
   string rainbowa(vector<int> s)
   {
     if(s[0]!=1)
         return "no";
     int i,j,n=s.size();
     for(i=0,j=n-1;i<j;i++,j--)
         if(((s[i]!=s[j]) || s[i+1]-s[i]>1 || s[i+1]-s[i]<0  || s[i]<1 || s[i] > 7))
            break;;

     if(i<j || s[i]!=7)
       return "no";
    return "yes";
   }

int main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int q;
  cin >> q;
  while(q--)
  {
    int n;
    cin>>n;
    vector<int> arr;
    for (int q_itr = 0; q_itr < n; q_itr++)
    {
        int s;
        cin>>s;
        arr.push_back(s);
    }
    string s = rainbowa(arr);
    cout<<s<<endl;
 }
  return 0;}
#包括
使用名称空间std;
弦彩虹A(矢量s)
{
如果(s[0]!=1)
返回“否”;
int i,j,n=s.size();
对于(i=0,j=n-1;i1 | | s[i+1]-s[i]q;
而(q--)
{
int n;
cin>>n;
向量arr;
对于(int q_itr=0;q_itr>s;
arr.推回;
}
字符串s=彩虹A(arr);
coutjava 100%解决方案(厨师和彩虹数组问题代码:RAINBOWA)

import java.util.*;
彩虹A级
{
公共静态字符串彩虹(int[]s)
{
int i,j,n=s.长度;
如果(s[0]!=1)
返回“否”;

对于(i=0,j=n-1;i1)| |(s[i+1]-s[i]我希望下面的解决方案是最干净的

public static String isRainbowArray(int[] arr) {
        if(arr == null || arr.length == 0) return "no";

        int currentNumber = 1;
        int mid = arr.length/2;
        int left = 0;
        int right;

        while (left <= mid) {
            right = arr.length - 1 - left;
            if(arr[left] == currentNumber && arr[right] == currentNumber) {
                left++;
                continue;
            }

            currentNumber++;
            if(arr[left] != currentNumber || arr[right] != currentNumber) {
                return "no";
            }
        }

        return currentNumber == 7 ? "yes": "no";
    }
公共静态字符串isRainbowArray(int[]arr){
如果(arr==null | | arr.length==0)返回“否”;
int currentNumber=1;
int mid=arr.length/2;
int左=0;
国际权利;

虽然(左)我认为OP想要一个Java解决方案Java解决方案也张贴在这页下面。。。
 import java.util.*;
 class Rainbowa
 {
   public static String rainbowa(int[] s)
   {
       int i,j,n=s.length;
       if(s[0]!=1)
         return "no";

       for(i=0,j=n-1;i<j;i++,j--)
          if((s[i]!=s[j]) || (s[i+1]-s[i]>1 )|| ( s[i+1]-s[i]<0 ) || (s[i]<1 )|| (s[i] > 7))
               break;

          if(i<j || s[i]!=7)
             return "no";
       return "yes";
    }

    public static void main(String args[])
    {
       Scanner sc=new Scanner(System.in);
       int t;
       t=sc.nextInt();
       for(int i=0;i<t;i++)
       {
          int n,val;
          n=sc.nextInt();
          int[] Arr=new int[n];
          for(int j=0;j<n;j++)
          {
              Arr[j]=sc.nextInt();
          }
           String str = rainbowa(Arr);
           System.out.println(str);
       }
    }
 };
public static String isRainbowArray(int[] arr) {
        if(arr == null || arr.length == 0) return "no";

        int currentNumber = 1;
        int mid = arr.length/2;
        int left = 0;
        int right;

        while (left <= mid) {
            right = arr.length - 1 - left;
            if(arr[left] == currentNumber && arr[right] == currentNumber) {
                left++;
                continue;
            }

            currentNumber++;
            if(arr[left] != currentNumber || arr[right] != currentNumber) {
                return "no";
            }
        }

        return currentNumber == 7 ? "yes": "no";
    }