题解 | #杨辉三角的变形#
杨辉三角的变形
https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43
import java.util.*; import java.util.stream.*; import java.util.regex.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int n = in.nextInt(); // 方法一:模拟,将每行都描述出来,超时 // simulation(n) // 方法二:规律 -1-123242324... if (n < 3) { System.out.println(-1); } else { System.out.println("2324".charAt((n-3)%4)); } } static void simulation(int n) { List<Integer> list = new ArrayList<>(); List<Integer> zeroList = Arrays.asList(0, 0); for (int i = 1; i <= n; i ++) { if (i == 1) { list.addAll(zeroList); list.add(1); list.addAll(zeroList); System.out.println(list); continue; } List<Integer> listN = new ArrayList<>(); for (int j = 0; j + 2 < list.size(); j++) { int num = list.get(j) + list.get(j + 1) + list.get(j + 2); listN.add(num); } listN.addAll(0, zeroList); listN.addAll(zeroList); list = listN; System.out.println(list); } int result = -1; for (int i = 0; i < list.size(); i++) { if (list.get(i) != 0 && list.get(i) % 2 == 0) { result = i - 2 + 1; break; } } System.out.println(result); } }