找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1117

主题

178

精华

3488

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑 + C9 c' _  j2 k9 j

  ]1 }) H2 B  M/ V7 sWrite 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 
8 V3 a* P* F/ e) ^7 b# diagonals starting from upper-left, going down until 0 ~: C/ _& A( [
# lower and if at bottom-left go to bottom-right 
/ `6 x8 J) @. K$ N" B& v$ `5 ]# printing the elements into up-left diagonale, l9 C7 s% U9 y$ Q4 L" w/ [
#
8 y/ [$ c' F% K# e.g- the desired order in this case:
, f* Y& b; {0 @  Q" d# [[0, 1, 2, 3, 4],9 i( P3 I$ X( L" c
#  [5, 6, 7, 8, 9],  C2 u2 V2 x! b% C8 C, W
#  [a, b, c, d, e]] 
# k  Q: ^' J- K7 C. n: \) h* R8 L# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e
, ^( i% H% n  L0 `# + Z6 N, U6 g9 W: x8 }
# or in this case:9 A/ W1 ^# {, T
# [[0, 1]* v; D  @4 Q0 A+ x, F
#  [2, 3]- k8 S  D* Q( E7 X/ a$ M2 \
#  [4, 5]]
, u* q! \; u) t0 \( ^/ I# 0, 2, 1, 4, 3, 55 I4 O& [+ d4 y( l8 X
#9 i& N" c4 w% \' O* r
# in python3:
6 S8 [( z- R3 ~1 Ydef traverse(matrix):( a) |1 b' h7 J4 M
    cols = len(matrix[0])
1 K" r, K# m2 b' t1 p- }" t    rows = len(matrix)
( [  D  M  Z# x    print('matrix {0}:'.format(matrix), end=' ')* I1 ]0 Z6 q4 B4 m4 e) f( j
8 z* V! q; ?; r# P" O+ M/ i
    for i in range (0, rows):
) I2 }# A* V3 `; @, s& [        for j in range (0, min(i + 1, cols)):% }4 p! j) F+ j
            print(matrix[i - j][j], end= ' ')( w1 h/ E/ Z; s" X, C
    8 m! `( q: p- P6 t/ U" H! p- V
    for j in range (1, cols):! L1 i8 z+ v! M) P5 }
        for i in range (0, min(cols - j, rows)):/ {0 F' w" T# _( ^- m
            print(matrix[rows - i - 1][j + i], end=' ')
! E; k4 E0 d. }- G- |2 g  |& Q- L  D4 A* D/ n
    print()2 M8 `2 @: L5 L
        ( a5 |; x" i8 k% P5 |1 O9 H
traverse([[1,2,3],[4,5,6],[7,8,9]])
4 H* f' f' V& c, Htraverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]): F! F; ]2 r" H( ?; f9 y; u, j2 M6 r/ Q
traverse([[0,1],[2,3],[4,5]])
# [6 O& I* T/ s5 y3 I  J7 vtraverse([[1],[2],[3]])! q- e3 P. {$ x
traverse([[1, 2, 3]])% ]; N/ z0 Z, P9 z' F

. u  ^3 n9 i  O2 Q* n$ S$ d#output:' r) n2 D0 _, V, M% K" S
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 
% Z5 Z8 t9 ~! L#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 . s9 S& b' D0 G" t
#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 
' N5 C$ g! P6 W, Y* e8 I#matrix [[1], [2], [3]]: 1 2 3 1 F; p9 L& t3 v1 s' W9 `5 @+ e
#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...

回复 支持 反对

使用道具 举报

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

本版积分规则

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