0

我正在尝试关于代码厨师的 Rainbow 数组问题: Java 中的问题。我的解决方案通过了问题中提到的所有三个测试用例,但我不明白为什么我的解决方案不被接受。 截屏. 请让我知道我应该进行哪些修改以及为什么?

厨师和彩虹阵列

厨师同样喜欢所有的阵列。但他比其他的更喜欢一些阵列。他特别喜欢彩虹阵。

如果数组具有以下结构,则该数组是 Rainbow:

  1. 第一个 a1 元素等于 1。
  2. 接下来 a2 个元素等于 2。
  3. 接下来 a3 元素等于 3。
  4. 接下来 a4 元素等于 4。
  5. 接下来的 a5 元素等于 5。
  6. 接下来的 a6 元素等于 6。
  7. 接下来的 a7 元素等于 7。
  8. 接下来的 a6 元素等于 6。
  9. 接下来的 a5 元素等于 5。
  10. 接下来 a4 元素等于 4。
  11. 接下来 a3 元素等于 3。
  12. 接下来 a2 个元素等于 2。
  13. 接下来 a1 元素等于 1。
  14. ai 可以是任何非零正整数。
  15. 数组中没有其他元素。

输入

  • 输入的第一行包含一个整数 T,表示测试用例的数量。
  • 每个测试用例的第一行包含一个整数 N,表示给定数组中元素的数量。
  • 第二行包含 N 个用空格分隔的整数 A1、A2、...、AN,表示数组的元素。

输出

  • 对于每个测试用例,如果数组是否为彩虹数组,则输出包含与该案例对应的“是”或“否”(不带引号)的行。

约束

  • 1≤T≤100
  • 7≤N≤100
  • 1≤Ai≤10

子任务子任务 1(100 分):原始约束

例子

输入

3

19

1 2 3 4 4 5 6 6 6 7 6 6 6 5 4 4 3 2 1

14

1 2 3 4 5 6 7 6 5 4 3 2 1 1

13

1 2 3 4 5 6 8 6 5 4 3 2 1

输出

是的

我的解决方案:

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
  public static void main(String[] args) {

    Scanner sc=new Scanner(System.in);
    int T=sc.nextInt();
    while(T-->0)
    {
        int N=sc.nextInt();

        int A[]=new int[N];

        for (int i = 0; i < A.length; i++) {
            A[i]=sc.nextInt();
        }

        int flag=0;
        //taking the length to iterate over upto the half if the array
        int len;
        if(N%2==0) {
            len=N/2;
        }
        else {
            len=(N/2)+1;
        }
        //Condition 1: palandrome or nor
        //Condition 2: 7 present or not
        for (int i = 0; i < len; i++) {
            if(A[i]!=A[N-1-i] || A[len-1]!=7) {
                flag=1;
                break;
            }
        }
        //System.out.println("Flag: "+flag);

        if(flag==0) {
            System.out.println("yes");
        }else {
            System.out.println("no");
        }

    }


  }
 }
4

0 回答 0