TikTok AMS(Algorithm & Machine Learning Systems)2025 校招評估最新真題。oavoservice 整理完整題目和解法,助你順利通過篩選。
📋 題目一:滑動視窗最大值
給定陣列和視窗大小 k,返回每個視窗的最大值。
解法:單調隊列
from collections import deque
def maxSlidingWindow(nums, k):
if not nums or k == 0:
return []
dq = deque() # 存儲索引
result = []
for i in range(len(nums)):
# 移除視窗外的元素
while dq and dq[0] < i - k + 1:
dq.popleft()
# 移除比當前元素小的元素
while dq and nums[dq[-1]] < nums[i]:
dq.pop()
dq.append(i)
# 視窗形成後添加結果
if i >= k - 1:
result.append(nums[dq[0]])
return result
時間: O(n) 空間: O(k)
📋 題目二:字串編碼壓縮
實作字串的遊程編碼(Run-Length Encoding)。
解法
def encode(s):
if not s:
return ""
result = []
count = 1
for i in range(1, len(s)):
if s[i] == s[i-1]:
count += 1
else:
result.append(s[i-1] + str(count))
count = 1
result.append(s[-1] + str(count))
encoded = ''.join(result)
return encoded if len(encoded) < len(s) else s
def decode(s):
result = []
i = 0
while i < len(s):
char = s[i]
i += 1
# 讀取數字
num_str = ''
while i < len(s) and s[i].isdigit():
num_str += s[i]
i += 1
count = int(num_str)
result.append(char * count)
return ''.join(result)
💼 oavoservice 助力
最新真題 - 2025 校招題目 完整解析 - 詳細思路和程式碼 時間管理 - OA 答題策略
聯繫 oavoservice,專業 OA 輔助服務!
標籤: #TikTok #AMS #2025校招 #OA #滑動視窗 #OA代做 #面試輔助 #一畝三分地
需要面試真題? 立刻聯繫微信 Coding0201,獲得真題。