找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1110

主题

177

精华

3455

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑
$ M( Z6 j% S$ V2 C2 _% ~+ Q5 T( e7 R
$ L6 E8 a! m7 e# P' rWrite code to traverse a NxM matrix in a zig-zag fashion

1178

主题

200

精华

3750

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

# assume due to feedbacks, zig-zag means 1 J% C2 j/ k8 r* M
# diagonals starting from upper-left, going down until 
" A0 d% t, Q: w' f# lower and if at bottom-left go to bottom-right 
  z9 e" F- ~: A# printing the elements into up-left diagonale
# \& c) u7 {; ]7 t9 D#/ _5 ]% M+ [1 l# u: |+ {2 Q' l* w4 E
# e.g- the desired order in this case:6 l7 A$ e* x3 ?" X
# [[0, 1, 2, 3, 4],: e5 m/ {& r# h- ^/ L7 b( h
#  [5, 6, 7, 8, 9],' q4 u; M$ ]) u  J" U6 C
#  [a, b, c, d, e]] 
8 E+ e3 P% K+ c. M1 l4 j, g9 Q0 K& W# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e* e  n$ ?  I$ B6 ^
# 
- }7 S4 W. ]- I# or in this case:
: A/ f1 F' k3 |+ O3 B# [[0, 1]
7 T2 S+ d/ }- j$ z5 N" Y9 |#  [2, 3]
1 [$ j) I8 [# a% C) b. K( n* u+ N. ~#  [4, 5]]0 Z) t( S, W( z- R1 o! F, n* n; }& [
# 0, 2, 1, 4, 3, 5: K, L/ K" M% v
#
+ W) ^- B3 [0 N, [# m# in python3:6 \- H, U! G) R+ h  S
def traverse(matrix):7 @2 w1 |/ x& n/ p
    cols = len(matrix[0])
% C3 ~7 r# d) l! _* v    rows = len(matrix)
6 q% }  e( A% l4 ^% l" ^- e    print('matrix {0}:'.format(matrix), end=' ')( S! k, _7 D3 ~2 v

/ U: I9 I8 m/ P7 W+ |% Z" ]    for i in range (0, rows):( ~8 G/ W, h5 {3 f  C1 Z8 H$ C
        for j in range (0, min(i + 1, cols)):/ G" Z  a) z6 _7 N. ?! E5 v
            print(matrix[i - j][j], end= ' ')
2 v9 @9 n; u& w1 J" l2 g: J% [    / P0 k# p& e0 M( u
    for j in range (1, cols):. g2 }' t' ~5 X. o
        for i in range (0, min(cols - j, rows)):
9 b, k0 }, S! D  r) u+ R# r            print(matrix[rows - i - 1][j + i], end=' ')
4 c0 n' g  [, y6 Z7 V! k0 `9 b' F4 i
; V8 w8 N, z6 {8 E) `    print()
$ ^& E! I# r7 H* r        8 a- |0 {) G1 P# b' k
traverse([[1,2,3],[4,5,6],[7,8,9]])
* X8 u2 q% A. ^: Mtraverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])9 ^, [) y5 z; ?5 a
traverse([[0,1],[2,3],[4,5]])
6 n: `3 W3 V- L2 m! Htraverse([[1],[2],[3]])7 t: Y+ e8 }0 s* j
traverse([[1, 2, 3]]); O  U' |" u0 k0 {
3 T% K2 c; b- h& W' |! x4 [; `
#output:( M" A) M. j' M# w
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 
! t  m/ b9 J- B3 M  c! O#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 
. r9 @# z* s2 V. P& \& B# [#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 
  c  s( O/ @8 X! b( I9 r#matrix [[1], [2], [3]]: 1 2 3 2 U( c) P" X) }/ d- M
#matrix [[1, 2, 3]]: 1 2 3

回复 支持 反对

使用道具 举报

1199

主题

184

精华

3706

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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