iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Kotlin

破解 Android 工程師面試白板題:30 道面試題目與解答 系列

想成為一名優秀的 Android 工程師,卻在面試時被白板題難倒?想學習用 Kotlin 解決各種資料結構與演算法的問題,並提升你的面試技巧?

本系列將帶你一起練習 30 道 Android 面試高頻題,教你如何寫出清晰、高效的程式碼。這些題目都是我從國內外知名軟體公司,如 PayPay、LinePay 等,收集整理而來。

你將學習如何拆解問題,分析時間和空間複雜度,並運用適當的解題策略。本系列涵蓋了各種基礎和進階的題型,讓你能夠應付任何面試挑戰。

不要再讓白板題嚇跑你,快來加入本系列,讓自己成為一名更優秀的 Android 工程師吧!

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文 團隊捲土重來的Kotlin鐵人們
DAY 11

LeetCode 572. Subtree of Another Tree

深度優先搜尋 (DFS) 解題思路 初始化:首先,我們使用深度優先搜尋(DFS)來遍歷 s 中的每一個節點。 子樹比較:對於 s 中的每一個節點,我們需...

2023-09-25 ‧ 由 John Lu 分享
DAY 12

LeetCode 437. Path Sum III

深度優先搜尋 (DFS) 解題思路 節點訪問:我們會訪問每一個節點,並以該節點作為起始點。 路徑探索:對於每一個起始節點,我們會探索所有向下延伸的路徑。...

2023-09-26 ‧ 由 John Lu 分享
DAY 13

LeetCode 88. Merge Sorted Array

雙指標法 解題思路 初始化兩個指標:我們為兩個陣列 nums1 和 nums2 分別宣告一個指標,分別命名為 i 和 j。這兩個指標都會從各自陣列的起始位置...

2023-09-27 ‧ 由 John Lu 分享
DAY 14

LeetCode 567. Permutation in String

滑動窗口 (Sliding Window) 解題思路 首先,我們需要理解一個基本概念:如果一個字串是另一個字串的排列,那麼這兩個字串中每個字元出現的次數必須完...

2023-09-28 ‧ 由 John Lu 分享
DAY 15

LeetCode 215. Kth Largest Element in an Array

破題 假設:陣列的長度為 。 題意:這題是希望我們找出一個整數陣列中第 大的數字。 方法一:計數排序 (Counting Sort) 解題思路 首先,...

2023-09-29 ‧ 由 John Lu 分享
DAY 16

LeetCode 1569. Number of Ways to Reorder Array to get Same BST

動態規劃和組合數 預備知識 組合數是從 個物品中選出 個的不同方法數。我們用 或 來表示它。它的計算公式是: 這裡 表示 的階乘,也就是 。...

2023-09-30 ‧ 由 John Lu 分享
DAY 17

LeetCode 1844. Replace All Digits with Characters

破題 這題的目標是將一個字串中的數字替換為字母。這個字串中的每個偶數 index 位置都是一個小寫字母,而每個奇數 index 位置都是一個介於 0 到 9...

2023-10-01 ‧ 由 John Lu 分享
DAY 18

LeetCode 848. Shifting Letters

破題 這題的目標是將一個字串中的每個字母都向後移動一定的位數。移動的位數由一個整數陣列指定,該陣列的長度與字串的長度相同。例如,如果我們有一個字串 abc 和...

2023-10-02 ‧ 由 John Lu 分享
DAY 19

LeetCode 127. Word Ladder

廣度優先搜尋 (BFS) 破題 這個問題要找出最短的轉換序列長度,當我們看到「最短」時,我們可以想到使用「廣度優先搜尋」來解決。但是,這個問題並沒有直接我們圖...

2023-10-03 ‧ 由 John Lu 分享
DAY 20

LeetCode 67. Add Binary

暴力法 首先,我們考慮一種最基本的方法:將 a 和 b 轉換為十進制數,然後求和,最後再將結果轉換為二進制數。 class Solution { fu...

2023-10-04 ‧ 由 John Lu 分享