G面经Prepare: Print Zigzag Matrix
Posted neverlandly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了G面经Prepare: Print Zigzag Matrix相关的知识,希望对你有一定的参考价值。
For instance, give row = 4, col = 5, print matrix in zigzag order like: [1, 8, 9, 16, 17] [2, 7, 10, 15, 18] [3, 6, 11, 14, 19] [4, 5, 12, 13, 20]
1 package GooglePhone; 2 3 import java.util.Arrays; 4 5 public class PrintMatrix { 6 7 static void print(int rows, int cols) { 8 int limit = rows * cols; 9 int T = rows * 2; // cycle 10 for (int i=1; i<=rows; i++) { 11 int[] curRow = new int[cols]; 12 int k = 0; 13 int index = 0; 14 while (k * T + i <= limit || k * T + T - i + 1 <= limit) { 15 if (k * T + i <= limit) curRow[index++] = k * T + i; 16 if (k * T + T - i + 1 <= limit) curRow[index++] = k * T + T - i + 1; 17 k++; 18 } 19 System.out.println(Arrays.toString(curRow)); 20 } 21 22 } 23 /** 24 * @param args 25 */ 26 public static void main(String[] args) { 27 // TODO Auto-generated method stub 28 print(4, 5); 29 //print(3, 5); 30 } 31 32 }
以上是关于G面经Prepare: Print Zigzag Matrix的主要内容,如果未能解决你的问题,请参考以下文章
U面经Prepare: Print Binary Tree With No Two Nodes Share The Same Column
Groupon面经Prepare: Max Cycle Length
FB面经 Prepare: Make Parentheses valid
M面经Prepare: Find integer Average of 2 integers.