生活随笔
收集整理的這篇文章主要介紹了
【笔试记录】2021/3/10阿里
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
阿里20210310春招筆試記錄-Python解題
第一題
小偷從出發(fā)點按指定方向出發(fā),除非遇到墻或超出城市必須轉方向,不然只能直走。城市大小m*n。
1. 第1行,三個數(shù)字m n k;m*n表示城市大小,k表示小偷轉了幾次方向2. 第2-m+1行,用@ · #三個字符表示行走路徑,@表示起始位置,·表示前方可行,#表示前方是墻3. 倒數(shù)k行,用NORTH,SOUTH,WEST,EAST表示上,下,左,右方向
最終的位置
例子
3 4 4
@···
·#··
···#
EAST
SOUTH
WEST
NORTH
(1,3)
if __name__
== "__main__":m
, n
, k
= map(int, input().split
())a
= []direction
= []pot_i
= 0pot_j
= 0for i
in range(m
):a
.append
(input())for j
in range(n
):if a
[i
][j
] == '@':pot_i
= ipot_j
= j
for i
in range(k
):direction
.append
(input())if direction
[i
] == "EAST":while pot_j
+ 1 < n
and a
[pot_i
][pot_j
+ 1] != '#':pot_j
+= 1elif direction
[i
] == 'SOUTH':while pot_i
+ 1 < m
and a
[pot_i
+ 1][pot_j
] != '#':pot_i
+= 1elif direction
[i
] == 'WEST':while pot_j
- 1 >= 0 and a
[pot_i
][pot_j
- 1] != '#':pot_j
-= 1elif direction
[i
] == 'NORTH':while pot_i
- 1 >= 0 and a
[pot_i
- 1][pot_j
] != '#':pot_i
-= 1print((pot_i
+ 1, pot_j
+ 1))
第二題
有n個物品,并且每個物品有價值,小明和朋友1、朋友2分這n個物品,將這n個物品擺放成一個圈,小明先從中拿一個物品,朋友1拿小明拿走物品的左邊那個,朋友2拿小明拿走物品的右邊那個,然后重復上述動作,直至拿完,小明想使拿到的所有物品價值最大。
1. 第1行,輸入數(shù)字T,表示T組數(shù)據(jù)2. 第2行,輸入數(shù)字n,表示有n個物品(n%3==0)3. 第3行,輸入一串數(shù)字,用空格隔開,表示這n個物品的價值
小明拿到的最大價值
例子
1
6
1 2 3 4 5 6
10
leetcode
1388
總結
以上是生活随笔為你收集整理的【笔试记录】2021/3/10阿里的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。