← 返回博客列表
TikTok

TikTok AMS 2025 校招評估真題分享

2025-10-24

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獲得真題