找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1117

主题

178

精华

3488

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑
$ A4 M- B% i, T, M' r- k# O" _$ E( ^# I1 I! M4 b4 {
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 
3 }! [# {( g1 n' ]5 h5 O# diagonals starting from upper-left, going down until # Z* m! T+ {  g: a2 |, X
# lower and if at bottom-left go to bottom-right 
; c$ R3 M* o" a6 x, J' R" r# printing the elements into up-left diagonale; Z% A+ m8 Y: u9 }
#3 r: [9 k; r# U3 B
# e.g- the desired order in this case:
" Y1 K. ^, g$ J+ `# [[0, 1, 2, 3, 4],
% M. M1 L7 G+ W: i6 M#  [5, 6, 7, 8, 9],
9 F  O2 b+ s# |#  [a, b, c, d, e]] 0 P6 K* m7 m% S+ z) s
# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e3 O  f5 [. M9 j3 ?& t
# 0 o4 p$ d5 h. ]' d. m
# or in this case:
3 H8 G6 C  T3 H8 Y; y$ w1 C% m( @# [[0, 1]
2 ^- X" C1 L3 q+ C' N$ }/ N#  [2, 3]6 G( `4 e# M# |5 G; S
#  [4, 5]]1 @8 y' H; w: ~
# 0, 2, 1, 4, 3, 5( x7 O, r2 j$ b( J7 \* V/ N+ L5 y
#
7 U) F! O8 W' O5 j# J7 g# in python3:
' N, a& [0 |' f+ m  C6 c0 Bdef traverse(matrix):& Q  s* U( H( L( E% B
    cols = len(matrix[0]), X5 c( t% Z# S; b
    rows = len(matrix)
2 q5 j! x2 ^9 b- V    print('matrix {0}:'.format(matrix), end=' ')
' ]: A- e$ {6 e" |7 m7 T5 X/ M$ H7 K" G6 F0 J3 }6 n
    for i in range (0, rows):
8 s  J3 B; s2 j2 B        for j in range (0, min(i + 1, cols)):8 q8 G4 N" _7 ^' g9 F
            print(matrix[i - j][j], end= ' ')
5 ?: f7 }1 n3 o, ?" i    
$ D! P3 J+ ]$ e, u* Y: I; l    for j in range (1, cols):4 M! U) g* s0 l/ d
        for i in range (0, min(cols - j, rows)):
5 w1 S/ Z9 i7 S            print(matrix[rows - i - 1][j + i], end=' ')9 ~% {- @* s/ x, i
& O6 e& B' o  {, c
    print()3 K& z: L" A; z0 L/ `
        
- @( _6 q2 Q/ o1 E0 T, \. y, W& t% ktraverse([[1,2,3],[4,5,6],[7,8,9]])
7 y4 m% K6 r0 F* S$ j+ ltraverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
. n. n+ y6 a( m6 X- @* e3 Jtraverse([[0,1],[2,3],[4,5]])
$ V7 V& P4 j4 D4 dtraverse([[1],[2],[3]])
" V; C+ C: f) t5 F; c4 Ytraverse([[1, 2, 3]])/ w/ v! ?& M9 X0 }, q! S$ i

  {) h# X# P* H, v4 t) T8 \3 X#output:0 k7 a9 k# T- E& P8 M% b7 r
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 ; T9 ^  a9 b" K! d
#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 
! S2 ^4 N, N. M6 N8 g' p#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 $ G$ y- c5 f+ u3 k8 L. i
#matrix [[1], [2], [3]]: 1 2 3 
& x; @) W; `  N8 Q9 p. z4 _#matrix [[1, 2, 3]]: 1 2 3

回复 支持 反对

使用道具 举报

1206

主题

184

精华

3720

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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