找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1117

主题

178

精华

3488

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑
8 |9 N' u, B  [. o! T7 j9 s9 M( j. R4 ~
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 U7 t5 H' l1 @5 @1 v# diagonals starting from upper-left, going down until 
* P: r7 _  t1 Y7 }8 ~% q# lower and if at bottom-left go to bottom-right 
$ P2 O9 ~8 @2 p- t# E4 T# printing the elements into up-left diagonale
/ ?: r9 X/ }) R; c0 g7 N; x#! D8 V  Q/ U: {6 o  K  g5 S1 n
# e.g- the desired order in this case:7 V# l, U& _2 D) v( M
# [[0, 1, 2, 3, 4],
! `& q+ B* j0 s- s#  [5, 6, 7, 8, 9],& x1 v# E9 x0 z- ~1 |7 x# C4 J
#  [a, b, c, d, e]] 
- l9 p* s  t; v% @; U# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e
. A% P" Q* d1 u" Y0 t. y3 L0 t# 
' n4 s; Q( A0 ?& |& W4 G# or in this case:( ~3 h/ q7 Z7 z) g
# [[0, 1]
# D" N; @5 d" P! Q  ~4 c#  [2, 3]
4 F! {. }* m- C/ f+ Z- o# L+ o: F6 H#  [4, 5]]
+ [" T5 D6 H/ Q  J3 \# 0, 2, 1, 4, 3, 51 s3 Q  i9 O' w" @  M6 r& `- w
#7 L: B% e. c( k
# in python3:8 B* r3 k% E* T: g6 M: z: ]0 E
def traverse(matrix):
: {2 G% s1 R" {$ `0 x# ?    cols = len(matrix[0])! i; n+ k5 O' u* U
    rows = len(matrix)3 m0 L' L  v7 D7 \
    print('matrix {0}:'.format(matrix), end=' ')$ P, Y* W6 @$ P2 S

$ W4 O! x2 U* N    for i in range (0, rows):4 p( |9 E. i- }7 u* b( I: j
        for j in range (0, min(i + 1, cols)):4 w2 u1 E' O; z. {: ^
            print(matrix[i - j][j], end= ' ')
& x/ K, G/ r! r8 N! p    4 k( M+ C' @- F7 h7 R0 y' W
    for j in range (1, cols):
8 e; s# B. O5 E2 w% S        for i in range (0, min(cols - j, rows)):6 t0 z- ?3 x. Z4 x- P6 b" U! n# d/ O
            print(matrix[rows - i - 1][j + i], end=' ')( ]% G) h4 c9 s4 o

1 ?7 D& P& [( M. n  [( |* C# {7 E    print()9 g( S/ V4 s8 }6 D. e
        * O+ e1 h- u" o  A. a" V
traverse([[1,2,3],[4,5,6],[7,8,9]])6 q1 q3 S* p: @' U
traverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])
6 u* k4 V, e7 P6 ~9 A* N9 qtraverse([[0,1],[2,3],[4,5]])' b& J. z0 {/ ~% Y$ F( k' o
traverse([[1],[2],[3]])
/ X& \& B' c! ^  C5 q# u5 b. e- ttraverse([[1, 2, 3]])
" B4 j# Q0 w. [+ I$ g6 J  |4 p. i' R8 G: h8 \: c
#output:) Z- ^0 f, ~4 d: @! p( x
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 ( A5 F0 h3 _. m, j
#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 
$ l* A3 C, w( U, _! L6 u7 F#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 1 ]( f9 [, ~2 L4 t5 L1 x5 I) h
#matrix [[1], [2], [3]]: 1 2 3 
2 z/ g; {. Q+ F& Z4 R#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...

回复 支持 反对

使用道具 举报

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

本版积分规则

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