找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6021|回复: 25
收起左侧

[Google] 热腾腾谷歌电面

[复制链接]

1116

主题

178

精华

3486

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3486
发表于 1-29-2017 11:29 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑
0 O/ x* ~1 t3 ^2 i6 D
- x3 U0 Z* \" W2 h6 [Write code to traverse a NxM matrix in a zig-zag fashion

1183

主题

200

精华

3760

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3760
发表于 1-29-2017 11:29 PM | 显示全部楼层

# assume due to feedbacks, zig-zag means / x4 K; e( l, I* C
# diagonals starting from upper-left, going down until , w0 W* i% N) P3 H
# lower and if at bottom-left go to bottom-right   c+ ~& L& O* x8 C$ Q
# printing the elements into up-left diagonale# o, O6 s6 Q4 u% A6 E
#
6 _! q8 P9 [: Q5 J# B) k; r# e.g- the desired order in this case:
) b, W7 L/ K% Z, M0 P8 L# [[0, 1, 2, 3, 4],/ }! P7 @3 x# d  r
#  [5, 6, 7, 8, 9],
& l7 G3 f; j4 y0 |0 N. G% d9 K! A! S#  [a, b, c, d, e]] ' k8 }( T& ^9 f$ `% w2 Z5 @' T
# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e
* E& m" E4 k7 S' ^6 c: X: m, n1 w, p# 
6 e' x9 i  a% \4 d3 q# or in this case:
/ o! U% X, \7 r: p5 Z4 C2 w# [[0, 1]
$ w! l/ y1 y1 f! h0 _; B1 G2 b$ H#  [2, 3]
. Z7 z5 f1 r/ i1 T% w5 N* s/ i#  [4, 5]]
, G& [" [* H8 z6 }3 V- a. |2 X# 0, 2, 1, 4, 3, 5' S' T8 s& g% s" t, z
#
! P; a: b( l1 X/ m* s! T  d" [' H# in python3:6 g5 x( D" x: [! `+ q
def traverse(matrix):
" b$ k) T  `; Z" h) a    cols = len(matrix[0])' {9 c  M3 B, x
    rows = len(matrix)
( T. `- i8 \5 g2 {9 s    print('matrix {0}:'.format(matrix), end=' ')$ N7 N3 |& A0 ~8 m+ y
- t; g9 s4 H. ^* @, Y9 M
    for i in range (0, rows):" S* A3 X; h. g) @& ~% h
        for j in range (0, min(i + 1, cols)):
6 }* e7 Q0 y' m2 |$ P            print(matrix[i - j][j], end= ' ')2 e# a3 D$ o, v  @6 L/ ?+ O! N: F  ?* m
    - N% w: m/ q% {  M" m
    for j in range (1, cols):6 a6 ]2 p& q& F1 \/ S3 L5 j! |
        for i in range (0, min(cols - j, rows)):
$ g4 S2 P7 i3 u! }( A            print(matrix[rows - i - 1][j + i], end=' ')
. l7 r. K% \0 a
- }2 Z$ E1 ?; x/ C/ [& \; J& H) q    print()& K  g- S1 w2 J# k# m3 _
        
) n! }$ q6 e5 `5 ttraverse([[1,2,3],[4,5,6],[7,8,9]])
: Y3 S2 y7 M3 L; e- atraverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
; {5 A1 G5 I6 X. H( l3 atraverse([[0,1],[2,3],[4,5]]), U; h! K+ W% w8 W
traverse([[1],[2],[3]])# p* e) j) d# }2 l
traverse([[1, 2, 3]])+ `% W* T3 k4 M+ K. d2 t% A4 y- j
. ]# B- b8 Y. Z* P+ L; |
#output:& X2 n0 b4 o) j9 |' |- W
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 6 Z+ S4 N9 }7 L, e" l* |$ f1 n
#matrix [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]: 0 5 1 10 6 2 11 7 3 12 8 4 13 9 14 
1 M8 L  A  O  w- ^7 J% x# E) S1 U#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 # X% h7 ]. X/ ]; ~
#matrix [[1], [2], [3]]: 1 2 3 
+ l! @& V4 W1 |6 a1 c#matrix [[1, 2, 3]]: 1 2 3

回复 支持 反对

使用道具 举报

1205

主题

184

精华

3718

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3718
发表于 1-29-2017 11:29 PM | 显示全部楼层

Yeah need more details...define zig-zag fashion...

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表