找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Google] 热腾腾谷歌电面

[复制链接]

1117

主题

178

精华

3488

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

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

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

x
本帖最后由 Sophia 于 1-29-2017 11:31 PM 编辑 : M$ @0 ~1 b4 j2 n6 m

9 @4 C! C4 Q# D( V* oWrite 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 7 d! g  b, }! X- w7 O
# diagonals starting from upper-left, going down until ; `2 B9 u5 U  @4 y$ J. K
# lower and if at bottom-left go to bottom-right 0 `7 K3 E) v# p* {
# printing the elements into up-left diagonale8 b8 U# a3 K  C6 B6 t
#' s6 F0 E! @/ C4 I5 N& ~
# e.g- the desired order in this case:
+ n6 Y% {( X$ P, e4 a+ {- r# [[0, 1, 2, 3, 4],
- A- Q; [  @" h/ c3 }1 ~& F) \#  [5, 6, 7, 8, 9],) W$ e: p8 h0 {; U
#  [a, b, c, d, e]] 7 C8 ^! p; g9 N2 b( d9 |2 o
# is: 0, 5, 1, a, 6, 2, b, 7, 3, c, 8, 4, d, 9, e
8 T* u1 \1 _5 Q9 q0 J. ~# 
" B/ U! ~; g1 r$ A0 v# or in this case:
- R  G1 {6 d9 ^# [[0, 1]
& k, }, n3 Z3 S% ]! ]+ A#  [2, 3]
) z. m/ i+ b$ b+ s' ]#  [4, 5]]
/ u: n  U& {$ x# 0, 2, 1, 4, 3, 5
$ f4 g5 x' n3 r8 L" x  z#
" ^/ z; y( @; K7 {# in python3:
! x; G! p7 [, B0 K* j4 rdef traverse(matrix):
5 o" K* M! ^1 f$ R) A    cols = len(matrix[0]). Y) u6 ~3 w7 S8 s* b
    rows = len(matrix)
% ?  Y) l- A9 p& |5 K2 I    print('matrix {0}:'.format(matrix), end=' '): o& o/ T% S+ E2 C+ Q4 W! \

1 b, E9 N" t( a0 n0 ^! k7 w( M    for i in range (0, rows):0 I1 h0 V% y2 A' Z0 X
        for j in range (0, min(i + 1, cols)):
9 T3 B6 M. V, o! D            print(matrix[i - j][j], end= ' '): ~" N' L8 ?% U. `0 ]4 u# L: B1 w" W# ^8 U$ L
    
5 s+ o% _1 w5 V& l    for j in range (1, cols):
" l2 V. R& \3 `8 ~. `* {1 K: l% _        for i in range (0, min(cols - j, rows)):0 _/ |% X6 ~2 o7 R+ M6 S/ s
            print(matrix[rows - i - 1][j + i], end=' '), x2 e* U7 ~6 r7 V( V, ~
# n5 y+ Z  e1 x1 }5 q: k
    print()
/ a. \" U/ \% p        9 }) x) i$ V+ Y* M
traverse([[1,2,3],[4,5,6],[7,8,9]])( ^+ P' I2 o% d1 C6 V4 h
traverse([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])9 w3 ?% e% l; o$ c" G% I) C
traverse([[0,1],[2,3],[4,5]]), W7 D3 A$ f1 E  b" X
traverse([[1],[2],[3]])
- o3 O- ~1 b* k% d  i9 \traverse([[1, 2, 3]])
) }# G7 L( c# w1 V0 ^, g; r! U
6 c1 D* y0 g9 M. {8 S" v$ D1 y#output:. R$ m* ~9 ?8 N4 B
#matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: 1 4 2 7 5 3 8 6 9 
: n* L2 d& v8 a0 C" a( ?! 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 
8 F7 j/ F: `* G#matrix [[0, 1], [2, 3], [4, 5]]: 0 2 1 4 3 5 , g% x! t/ ^* S4 D- C
#matrix [[1], [2], [3]]: 1 2 3 / X* j7 K0 T; q* j
#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...

回复 支持 反对

使用道具 举报

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

本版积分规则

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