22分鐘速刷 Uber 2026 OA :Python 解題 + 邊界技巧

最近衝了 Uber 2026 OA ,平臺依舊是 CodeSignal,題量 4 道題,70 分鐘完成。說實話,這次題目對於有一定基礎的同學來說,熟悉度很高,我自己花了 22 分鐘就全部做完。四題裡有兩個題幾乎是白送的,看一眼就能寫出來,完全沒有難度。為了幫助大家提前練手,我把每道題的思路和做法都整理出來了。

Uber 2026 OA 面試概覽

平臺:CodeSignal
題量:4 道
時間:70 分鐘
難度:中等偏上,但部分題目熟悉即可快速完成
考察點

  1. 二進位制運算與位操作
  2. 棧與單調棧技巧
  3. 子陣列與排列判斷
  4. 字串操作與交換匹配邏輯

總體來說,Uber OA 更看重邏輯清晰度、思路正確性和實現速度,演算法難度不是很大,但細節處理容易出錯。

Q1: Minimum Operations to Reduce Binary Number to Zero

題目描述
給定一個正整數 n,每次操作可以加或減 2^i(i ≥ 0),求將 n 變為 0 的最少操作次數。

解題思路

  • 將問題看作二進位制處理
  • 從低位到高位處理每一位,同時維護進位
  • 當前位值 = 原位值 + 進位
    • 若值為 1:可以直接減法消掉,運算元 +1,或者加法產生進位
    • 若值為 2(位 1 + 進位 1):直接進位,不增加操作
  • 累加運算元
  • 最終進位為 0 時結束

小技巧

  • 二進位制位處理題最關鍵是進位維護
  • 一定要從低位向高位遍歷,否則運算元計算會出錯
  • 可以畫出二進位制點陣圖快速理解操作邏輯

Q2: Discounted Price Sum

題目描述
每個物品售價 = 原價 − 右邊第一個 ≤ 當前價格的物品的價格(若無則按原價出售),求總售價及按原價出售物品的索引。

解題思路

  • 從右向左遍歷物品
  • 使用單調遞增棧尋找右邊第一個 ≤ 當前價格的物品
  • 棧空 ⇒ 原價出售,記錄索引
  • 棧非空 ⇒ 售價 = 原價 − 棧頂價格
  • 累加總售價
  • 輸出總售價及原價出售的物品索引(升序)

小技巧

  • 單調棧是處理“右邊第一個符合條件元素”的經典工具
  • 這類題核心是順序和棧狀態維護
  • 輸出索引前注意排序,否則可能 WA

Q3: Balanced Subarray

題目描述
對於每個 k(1~n),判斷是否存在一個子陣列恰好是 1~k 的排列。

解題思路

  • 先記錄每個數字在排列中的位置 pos[value]
  • 從 k = 1 開始,維護包含數字 1~k 的最小位置區間 [L, R]
    • L = min(pos[1..k])
    • R = max(pos[1..k])
  • 如果 R − L + 1 == k,則 k 是 balanced
    • 區間長度恰好等於 k,且值域為 1~k,必為排列
  • 否則不是 balanced

小技巧

  • 關鍵是記錄數字位置,並維護區間最小值和最大值
  • 可以在遍歷中累積更新 min/max,無需重複掃描
  • 這種題非常適合用陣列 + 索引對映實現,時間複雜度 O(n)

Q4: Maximum Pairs by Swapping Digits

題目描述
兩個數字若可透過最多兩次交換某些位置的數字變成彼此(含相等),算作一對。求總對數。

解題思路

  1. 長度不同 ⇒ 不可能
  2. 長度相同
    • 將數字轉為字串並排序字元
    • 若排序後相同 ⇒ 可透過若干次交換變成彼此(計數)
    • 若排序後不同:
      • 統計不同位置的字元
      • 若不同位置數 ≤ 4 且字元可兩兩匹配 ⇒ 可兩次交換
  3. 實現步驟
    • 先按長度分組
    • 組內用雜湊表統計排序串頻次計算相等對數
    • 對不等情況檢查是否符合兩次交換條件

小技巧

  • 排序字串可以快速判斷是否可能透過交換變成彼此
  • 不同位置 ≤4 是關鍵判斷條件
  • 雜湊表分組統計可以大幅減少時間複雜度

FAQ | Uber 2026 OA 1.18 面經常見問題

Q1: Uber 2026 OA 1.18 有幾道題?難度如何?

Uber 2026 OA 1.18 一共有 4 道題,題型包括二進位制加減最少運算元、單調棧折扣售價、子陣列排列判斷和數字最多交換匹配對數。難度偏中等偏上,但大部分題型屬於常見模板題型,只要熟悉 CodeSignal 平臺和 Python 解題思路,通常可以快速完成。

Q2: 完成 Uber 2026 OA 1.18 大概需要多長時間?

根據實戰經驗,如果熟悉題型,四題可以在 20–30 分鐘內完成全部操作。我自己整套題花了 22 分鐘就一次過,透過合理規劃題目順序和使用 Python 模板程式碼,可以顯著節省時間。

Q3: Uber 2026 OA 有哪些考察重點?

主要考察以下能力:

  • 二進位制位運算和進位處理
  • 單調棧應用和折扣售價計算邏輯
  • 子陣列排列判斷和區間最小/最大位置維護
  • 字串數字匹配與最多兩次交換邏輯

此外,還會考察邊界條件處理、演算法複雜度理解和 Python 實現能力。

Q4: Python 在 Uber 2026 OA 中有哪些優勢?

Python 語法簡潔,內建資料結構(如字典、列表、集合)和函式(如 min, max, sorted)非常適合處理 OA 題目邏輯,尤其是:

  • 二進位制位操作和進位模擬
  • 單調棧或棧操作
  • 索引對映和子陣列判斷
  • 字串轉換和雜湊統計

合理使用 Python 模板程式碼,可以提高完成速度和正確率。

Q5: 有沒有快速透過 Uber 2026 OA 的經驗技巧?

經驗總結如下:

  • 熟悉題型模板:二進位制位處理、單調棧、區間判斷、字元交換匹配
  • 先理清邏輯再寫程式碼:畫草稿或用小樣例測試
  • 時間分配合理:先做熟悉題,難題留最後
  • 邊界條件覆盤:尤其是交易次數、進位、索引長度、字元匹配
  • Python 模板複用:提前準備好函式/工具方法,可直接呼叫

Q6: Uber 2026 OA 的題目會重複嗎?

根據實戰經驗,CodeSignal 平臺上的題目型別重複率較高,尤其是類似二進位制操作、單調棧和子陣列排列的經典模板題型。提前練習這些題型,理解通用解法和邊界處理方法,可以大幅提高 AC 準確率。

別再浪費時間!Uber / TikTok / Stripe OA 快速通關指南

很多同學其實不是不會寫,而是 OA 時間壓力太大、容易在細節上翻車。針對這種情況,我們提供成熟的大廠 OA 支援方案,包括 OA代寫筆試協助 和高頻題型快速處理,平臺覆蓋 HackerRank / 牛客網 / CodeSignal。透過遠端控制 完成操作,過程無痕、執行穩定,目標就是幫助你在關鍵 OA 環節一次到位,減少不必要的消耗。

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0