阅读背景:

蛇形矩阵的实现_1

来源:互联网 

通过java实现两种不同的蛇形矩阵。

之前在一个面试题上看到了一个关于写出一个蛇形矩阵的问题,当时很是纠结,后来分析了一下之后,就觉的问题不是那么的难了。
目前我见过的蛇形矩阵的考法有两种,一种是对角线式的蛇形矩阵,另一种是回旋绕的蛇形矩阵:
**1 3   4   10**    
**2 5   9** 11  
**6 8** 12  15  
**7**   13  14  16
对于对角线的类型来说,是比较简单的。
1.首先我们可以观察数字从小到大的变化,会发现其实角标的变化分别是。
0 0   0 1   0 2     0 3 
1 0   1 1   1 2     1 3 
2 0   2 1   2 2     2 3 
3 0   3 1   3 2     3 3
    就会发现前一个角标的变化规律是0 |1,0| 2,1,0 |3,2,1,0| 
      后一个角标的变化是    0 |0,1|0,1,2|0,1,2,3|
      这个时候,在蛇转换方向的是时候,我们还需要调整一下递增和递减的关系!!!
      于是,规律就来了。我们可以先写出一个三角形,然后在写另一个三角形,是不是就会容易的很多!!!
之前在一个面试题上看到了一个关于写出一个蛇



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: