日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【笔试记录】2021/3/10阿里

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【笔试记录】2021/3/10阿里 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

阿里20210310春招筆試記錄-Python解題

第一題
  • 問題描述:
小偷從出發點按指定方向出發,除非遇到墻或超出城市必須轉方向,不然只能直走。城市大小m*n。
  • 輸入描述:
1. 第1行,三個數字m n k;m*n表示城市大小,k表示小偷轉了幾次方向2. 第2-m+1行,用@ · #三個字符表示行走路徑,@表示起始位置,·表示前方可行,#表示前方是墻3. 倒數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# k次轉彎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行,輸入數字T,表示T組數據2. 第2行,輸入數字n,表示有n個物品(n%3==0)3. 第3行,輸入一串數字,用空格隔開,表示這n個物品的價值
  • 輸出描述:
小明拿到的最大價值

例子

  • 輸入:
1 6 1 2 3 4 5 6
  • 輸出:
10 leetcode 1388

總結

以上是生活随笔為你收集整理的【笔试记录】2021/3/10阿里的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。