题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

import java.util.Scanner;

public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();
            int[] initArr = new int[num];
            initArr[0] = 1;
            for (int i = 1; i < num; i++) {
                initArr[i] = initArr[i - 1] + i;
            }
            for (int i = 0; i < num; i++) {
                for (int j = 0; j < num - i; j++) {
                    System.out.print(initArr[j+i]+(j)+" ");
                }
                System.out.println();
            }
        }
}

首先初始化输出矩阵的的第一列;
观察矩阵的第二列,可得2+1 = 3,4+1=5,7+1=8
观察矩阵的第三列,可得4+2=6,7+2=9
观察矩阵的第四列,可得7+3=10
可能递推式子: 初始化矩阵的下标   (i+j) 加上j的值,刚好满足上述观察的结果;



全部评论

相关推荐

求面试求offer啊啊啊啊:把华北改为华南再试一试,应该就没啥问题了。改完可能都不用投,别人主动联系了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务