找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1115

主题

178

精华

3484

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑 9 V: w/ X2 M+ I- ^

4 z" |; n3 g$ O1 J7 p- PWrite code to traverse a NxM matrix in a zig-zag fashion

1179

主题

200

精华

3752

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

# assume due to feedbacks, zig-zag means 2 E( _/ V0 J1 ~8 M
# diagonals starting from upper-left, going down until , y: `: N2 g& T6 r
# lower and if at bottom-left go to bottom-right ; s/ C$ p* Z! w' T+ f
# printing the elements into up-left diagonale
# W# [- E" Q; I/ t! }; s  j#
2 z6 D; L5 k& s8 g; B# e.g- the desired order in this case:! u9 r' `# e9 y, t7 E: l
# [[0, 1, 2, 3, 4],
! X) G2 g* q# g9 m#  [5, 6, 7, 8, 9],  p# g: i3 q0 x8 ]; x- P
#  [a, b, c, d, e]] 
5 b9 b$ w8 S  U8 @1 y2 x, T# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e
! e# h) E* S  ]1 M1 J0 x6 o# ! J. z, G! w" h4 m
# or in this case:+ [( C9 j: {* [* M7 e% V4 p
# [[0, 1]# }8 F$ g* P- D
#  [2, 3]$ M0 C3 j& _, S
#  [4, 5]]
& }7 L# C! m! w9 K, S5 x# 0, 2, 1, 4, 3, 57 [3 F+ \0 m2 b3 z: w8 P
#4 f6 ~$ M' c2 W2 N* _2 B
# in python3:: v2 `& h9 F" |/ _4 J% R
def traverse(matrix):
' g( X* ~/ J6 T: |* V; j0 e$ [    cols = len(matrix[0])! M# E# }* Z( Y: I
    rows = len(matrix)! a. b+ b7 _. C; [  \
    print('matrix {0}:'.format(matrix), end=' '). D) L3 S3 x$ i, ?5 P7 A- p
2 Z; p0 G2 v, P/ o2 \4 A3 O3 `
    for i in range (0, rows):9 t8 Y. @! P/ [( x( N* x: g8 ?
        for j in range (0, min(i + 1, cols)):& B2 \" G/ v$ C( a" A
            print(matrix[i - j][j], end= ' ')
- v, [7 a- a; M) D% t    
. |( T+ n  T3 b. \! a    for j in range (1, cols):! h( V! v4 Z/ ~$ d9 T/ x5 Z7 e6 e. l
        for i in range (0, min(cols - j, rows)):; T6 c) @+ q6 J5 r0 [
            print(matrix[rows - i - 1][j + i], end=' ')
1 G  G+ z4 n# P6 f' B8 a8 ^2 L8 M- p
. Q4 a0 ?4 p* n' B7 C    print()
% Y8 C0 x6 F7 o6 V        
6 F+ C6 _/ c8 u% j9 _( R! x3 ytraverse([[1,2,3],[4,5,6],[7,8,9]]); J) W5 F! [+ W9 Y
traverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
- w5 F' A' M* a9 r1 ntraverse([[0,1],[2,3],[4,5]])
0 w6 w) g% A2 _5 w" Y  atraverse([[1],[2],[3]])7 E8 J, P& x5 o5 b; j8 j! E
traverse([[1, 2, 3]])4 C- g  ?# e0 b  h$ s, J2 z
$ I6 O" S# l' m6 ]1 Y* w, O
#output:
& H$ ]% r( M( U* u) l0 J#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 
! M0 r+ r- x* }: R( P8 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   ], G, r2 e. h" p. I( l/ s
#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 ( {* i7 U, ]3 `
#matrix [[1], [2], [3]]: 1 2 3 
' @& e8 \7 M2 @" V& C$ f9 L. M#matrix [[1, 2, 3]]: 1 2 3

回复 支持 反对

使用道具 举报

1202

主题

184

精华

3712

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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