找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1117

主题

178

精华

3488

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑
- W. y' d" ~: O& K6 Z) z1 l: v7 O1 |7 T* ?: x4 h3 c2 s: H
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 
' c2 M1 o/ O1 B# d/ @1 o# diagonals starting from upper-left, going down until , a8 l! o( U1 k8 Z& u% k" V/ m" `  {( o
# lower and if at bottom-left go to bottom-right 
+ _  G/ D2 d* Z5 N8 @4 X# printing the elements into up-left diagonale. p; u* }8 b9 K: G# y
#
( W7 J$ ~: q) }) a# e.g- the desired order in this case:( G5 u0 t8 p4 z* S9 _  }
# [[0, 1, 2, 3, 4],
& E; W! |  r( i8 I& ?! F0 \#  [5, 6, 7, 8, 9],  h0 z& z4 j2 ^2 z. u7 D
#  [a, b, c, d, e]] 
3 A; \6 u6 i( E+ x# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e/ @5 O# T- t' k% e0 i
# 0 B# h5 e( x( b3 `( N* v
# or in this case:
1 q( q- i2 Y9 \; a" b# B$ |# [[0, 1]
- w3 w5 D3 \. x- L$ F#  [2, 3]) P4 K0 v8 A* z8 M; }+ F: G2 I6 t
#  [4, 5]]
3 M( D- i) r. v9 X  Z2 _# 0, 2, 1, 4, 3, 5! B, S# B4 P" j  d( X( G- [
#+ U! f0 j7 T. n8 d1 q5 Y
# in python3:
* j2 V* P$ ]* j4 V4 hdef traverse(matrix):! s7 R. e- W$ C5 O! `5 f0 `8 ^
    cols = len(matrix[0])
6 {) ]( q/ f) q    rows = len(matrix)
8 N0 A2 Q8 a1 K0 ]/ g( b    print('matrix {0}:'.format(matrix), end=' ')+ {6 ?& n$ V  \- T) G5 U3 z7 o

+ L6 y% L$ D( p    for i in range (0, rows):$ Z6 q7 A1 q6 S0 S2 [
        for j in range (0, min(i + 1, cols)):
0 Z+ X$ K- v/ g, y% @, F& x1 l$ W            print(matrix[i - j][j], end= ' ')
! z( x) q: [$ K- ?5 a( Z5 Q    
! s# @! c" c# F6 v4 ?    for j in range (1, cols):3 y( E* C: w8 A5 b2 {& t, w0 ?% D
        for i in range (0, min(cols - j, rows)):
/ \) m3 I* ]( K6 F/ g9 ~5 |            print(matrix[rows - i - 1][j + i], end=' ')3 n" i, ^& C: y: z( W) O
+ v+ l3 r  e  \0 T& Q; D8 A/ j. A: [
    print()/ v2 ^: W) }2 |) `! f
        
: S: @1 x0 m* E9 ^* ntraverse([[1,2,3],[4,5,6],[7,8,9]])  s( p; y/ I/ Y5 g
traverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])- V) j% C, A& a, M
traverse([[0,1],[2,3],[4,5]])
* A6 g7 E  X$ Y- L7 Straverse([[1],[2],[3]])0 o3 r5 S3 D6 d4 L
traverse([[1, 2, 3]])
" s* o+ F6 z3 _- k" e5 f  |# s7 i: h; S
#output:1 v, `/ s. F. \9 \3 O* K
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 
7 ~/ ?$ R& [$ `+ 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 # n; X8 |  Z) l4 ~! I
#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 . O9 U0 q2 a- R: @
#matrix [[1], [2], [3]]: 1 2 3 : @, D& j' t5 D6 s, ~# T
#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...

回复 支持 反对

使用道具 举报

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

本版积分规则

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