码迷,mamicode.com
首页 > 其他好文 > 详细

Snapchat - 向左下角打印2D矩阵

时间:2016-10-17 07:17:04      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

题目是这样的,给一个2d矩阵,向左下角打印矩阵,比如

1,2,3,4

5,6,7,8

9,10,11,12

{{1},{2,5},{3,6,9},{4,7,10},{8,11},{12}}

所以解题的重点是,结果里面的每一组,它们的横坐标+纵坐标是相等的,然后最大的可能是col+row-2

 1 public List<List<Integer>> printMatrix(int[][] board) {
 2         int height = board.length;
 3         int width = board[0].length;
 4         List<List<Integer>> res = new ArrayList<>();
 5         if (width == 0 || height == 0) {
 6             return res;
 7         }
 8         int diagonal = width + height - 2;
 9         for (int sum = 0; sum <= diagonal; sum++) {
10             List<Integer> cur = new ArrayList<>();
11             for (int y = 0; y <= sum; y++) {
12                 int x = sum - y;
13                 if (y < height && x < width) {
14                     //cur.add(y * width + x + 1);
15                     cur.add(board[y][x]);
16                 }
17             }
18             res.add(cur);
19         }
20         return res;
21     }

 

Snapchat - 向左下角打印2D矩阵

标签:

原文地址:http://www.cnblogs.com/warmland/p/5968358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!