题解 | #杨辉三角的变形#

杨辉三角的变形

http://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

一 遍历杨辉三角左半部分(此方法运行到10000时提示越界,通过率73%)

import java.util.*;

public class YangHui {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[][] arr = new int[n][];
        for(int i = 0; i < arr.length; i++){
            arr[i] = new int[i+1];
            arr[i][0] = 1;
            for (int j = 1; j < arr[i].length; j++) {
                if(i <= 1){
                    arr[i][j] = 1;
                } else {
                    if(j == 1){
                        arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                    }
                    else if(j == arr[i].length - 1){
                        arr[i][j] = (arr[i-1][j-2] * 2) + arr[i-1][j-1];
                    }
                    else{
                        arr[i][j] = arr[i-1][j-2] + arr[i-1][j-1] + arr[i-1][j];
                    }
                }
            }
        }
        int index = -1;
        for (int j = 0; j < n ; j++) {
            if (arr[n - 1][j] % 2 == 0){
                index = j + 1;
                break;
            }
        }
        System.out.println(index);
    }
}

二 找规律(通过100%)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    /*
 1-  0            1
 2-  0            1 1
 3-  2            1 2 3
 4-  3            1 3 6 7
 5-  2            1 4 10 16 19
 6-  4            1 5 15 30 45 51
 7-  2            1 6 21 50 90 126 141
 8-  3            1 7 28 77 161 266 357 393
 9-  2            1 8 36 112 266 504 784 1016 1107
 10- 4            1 9 45 156 414 882 1554 2304 2907 3139
 
规律:
刨去前两行,每4行一个轮回,位数2,3,2,4循环;
     */
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int index = -1;
        if(n > 2){
            if((n-2) % 4 == 1 || (n-2) % 4 == 3){
                index = 2;
            }
            else if((n-2) % 4 == 2){
                index = 3;
            }
            else if((n-2) % 4 == 0){
                index = 4;
            }
        }
        System.out.println(index);
    }
}
全部评论
主要是题目中n的范围有点太大了,要是把n限制的小一点(500以内),第一种方法更通用,即便把题目改成第k个偶数也能给出答案。
点赞 回复 分享
发布于 2022-05-25 10:59

相关推荐

UtopianYou...:这个简历排版真的不太行哦,去找免费的或者花点小钱,把排版弄整齐一点吧,看着舒服。
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
4471次浏览 48人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
16917次浏览 137人参与
# MiniMax求职进展汇总 #
25258次浏览 322人参与
# 沪漂/北漂你觉得哪个更苦? #
1616次浏览 41人参与
# 你的实习产出是真实的还是包装的? #
3230次浏览 54人参与
# 春招至今,你的战绩如何? #
16021次浏览 146人参与
# 巨人网络春招 #
11540次浏览 228人参与
# HR最不可信的一句话是__ #
1107次浏览 32人参与
# AI面会问哪些问题? #
971次浏览 24人参与
# 你做过最难的笔试是哪家公司 #
1306次浏览 23人参与
# AI时代,哪个岗位还有“活路” #
2930次浏览 53人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152945次浏览 889人参与
# 简历第一个项目做什么 #
32180次浏览 363人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
8029次浏览 43人参与
# XX请雇我工作 #
51164次浏览 171人参与
# 简历中的项目经历要怎么写? #
311119次浏览 4271人参与
# 投格力的你,拿到offer了吗? #
178382次浏览 891人参与
# 你最满意的offer薪资是哪家公司? #
77008次浏览 375人参与
# AI时代,哪些岗位最容易被淘汰 #
64819次浏览 891人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187635次浏览 1123人参与
# 你怎么看待AI面试 #
180882次浏览 1318人参与
# 正在春招的你,也参与了去年秋招吗? #
364407次浏览 2642人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务