質問
分析
我々は再文に、あなたは長い間トップ、決して上の少しを使用し、最近で配列またはHashSetの、設定、および地図を使用HashSetのにそれを選んだことができますしたいです。
アイデアは1〜NUM-1小節間のすべての数字をカバーする隣接差分のnum個の番号であるので、ないの繰り返しが範囲外でない場合、それは、確かにちょうどいい友人で、「未陽気」を繰り返したり、国境を越えています「ジョリー」聖歌、非常にシンプルなもの。
アレイを使用すると、クロスボーダーを防止することに留意されたいです。
ACコード(Javaの記述言語)
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
Set<Integer> set = new HashSet<>(1000);
int prev = scanner.nextInt();
for (int i = 1; i < num; i++) {
int temp = scanner.nextInt(), abs = Math.abs(prev-temp);
if (abs >= num || set.contains(abs)) {
System.out.println("Not jolly");
return;
} else {
prev = temp;
set.add(abs);
}
}
scanner.close();
System.out.println("Jolly");
}
}