Selection Sort 實作上是遍歷一次陣列,找出最小值,並將最小值與陣列的第一個值交換,以此類推,再遍歷一次陣列 (先前排序好的位置可以略過) 找出最小...
300. Longest Increasing Subsequence Question Given an integer array nums, return...
Recursion 的定義是一個會呼叫自己的函式。 Recursion 技巧在很多地方都有用到,例如: JSON.stringify & JSON....
今日題目 題目連結:108. Convert Sorted Array to Binary Search Tree 題目主題:Array, Divide and...
20. Valid Parentheses Question Given a string s containing just the characters '...
今日題目 題目連結:101. Symmetric Tree 題目主題:Tree, Depth-First Search, Breadth-First Searc...
560. Subarray Sum Equals K Solution 1: Brute-Force (TLE) class Solution: def...
94. Binary Tree Inorder Traversal Solution 1: Recursive class Solution: def...
322. Coin Change Solution 1: DP (Amount outer loop) class Solution: def coin...
8. String to Integer (atoi) Solution 1: Brute-Force def myAtoi(self, s: str)...
283. Move Zeroes Solution 1: Two Pointers class Solution: def moveZeroes(sel...
前言 這題目的邏輯是找出陣列中出現次數過半的元素,這裡有使用一層 for 迴圈遍歷整個陣列後,用 HashMap 來操作存儲查找,Map 時間可以視為常數時...
前言 這題是一個經典的動態規劃問題,目標是找到一個陣列中連續子陣列的合還有回傳最大值,時間複雜度可達 O(n),這裡有 JAVA 和 Python 的寫法。...
141. Linked List Cycle Solution 1: Hash class Solution: def hasCycle(self, h...
由於樹狀結構並不像 Lined List 或陣列那樣是線狀的,故需要遍歷整個樹狀結構是很複雜的,而且有多種方式。 大致上分為以下兩種: Breadth-fir...
24. Swap Nodes in Pairs Solution 1: Recursive class Solution: def swapPairs(...
前言 這題標準運用了二分搜尋法,演算法通常需要使用二分思想,即每次能夠排除一半的範圍,快速的找出陣列中所要求的元素位置,這樣時間複雜度可達 O(log n)...
前言 這題標準運用了二分搜尋法,演算法通常需要使用二分思想,即每次能夠排除一半的範圍,快速的找出陣列中所要求的元素位置,這樣時間複雜度可達 O(log n)...
前言 這題用的技巧是二分搜尋法,原理是每次循環都會將搜索範圍縮小一半。演算法通常需要使用二分思想,即每次能夠排除一半的範圍,快速的找出陣列中所要求的元素位置...
148. Sort List Solution 1: Merge Sort # Definition for singly-linked list. # cla...
41. First Missing Positive Solution 1: Sort class Solution: def firstMissing...
前言 這題是一題動態規劃問題,目標是擷取不連續的元素,全部相加起來選出最優解,因只用了一層迴圈,時間複雜度可估 O(n),這裡有 JAVA 和 Python...
23. Merge k Sorted Lists Question You are given an array of k linked-lists lists...
98. Validate Binary Search Tree Solution 1: DFS class Solution: def _isValid...
前言 究竟何時才是買賣股票的最好時機呢? 這題邏輯很生活化,就是把一個陣列內所有的價格遍歷完,低買高賣後把最大的差價回傳出來,這題使用了單迴圈遍歷陣列裡所有...
6. Zigzag Conversion Solution 1: 2D-Array + Simulation (模擬 Z 字形移動) class Solutio...
76. Minimum Window Substring Solution 1: Slide Window + Hash from collections im...
124. Binary Tree Maximum Path Sum Solution 1: DFS + Recursive # Definition for a...
Quick Sort 使用基準值 (pivot) 比對排序,並透過 Recursion 的技巧,不斷將每個元素放到正確的位置上。 第一步是從陣列中取出一個數字當...
31. Next Permutation Solution 1: Two Pointer class Solution: ""&qu...