题解 | #杨辉三角的变形#
杨辉三角的变形
https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43
、public class YangTriangle_53 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); int result = yangTrangel1(n); } } private static int yangTrangel1(int n) { int[][] dp = new int[n][2*n-1]; int flag = -1; for (int i = 0; i < n; i++) { for (int j = 0; j < 2 * n - 1; j++) { if (i!=n-1&&(j == 0 || j == 2 * n - 2)) {//各行头和尾,除了最后一行外 dp[i][j] = 0; } else if (i==n-1&&(j==2*n-2||j==0)) {//最后一行的头和尾 dp[i][j] = 1; }else if(i==0){//第一行赋值 if (j==n-1){ dp[i][j]=1 ; }else { dp[i][j]=0;} }else { dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j] + dp[i - 1][j + 1]; } } } outerLoop: for (int i = 0; i < n; i++) { for (int j = 0; j < 2 * n - 1; j++) { if(i==n-1&&dp[i][j]!=0&&dp[i][j]%2==0) { //System.out.print(dp[i][j] + " "); flag = j+1; break outerLoop; } } } System.out.println(flag); return flag; } }