Home
OnePouch
Cancel

leetCode Day30

Permutations 題目: 有一個數字陣列,回傳所有的組合 解法: code func permute(nums []int) [][]int { var cur []int var result [][]int visited := make(map[int]int) search(nums, &visited, &am...

leetCode Day29

Search in Rotated Sorted Array 題目: 有一個旋轉排序的數字陣列,找出target是否存在陣列中 解法: 使用二分法找到中間值,如果中間值,如果中間值比左邊的值還大的話,代表左邊是排序的,判斷target是否在左邊到中間之間,如果是的話右邊為中間-1,如果不是左邊為中間+1,如果中間值比左邊的值還要小的話,因為中間至右邊為排序的,判斷target是否在...

leetCode Day28

Rotting Oranges 題目: 有一個矩陣,2代表壞掉的橘子,1代表新鮮的橘子,0代表沒有橘子,過一天,壞掉的橘子會朝相鄰的新鮮橘子讓他壞掉,求最短多久會只剩下壞橘子,如果還有新鮮的橘子回傳-1 解法: 先把一開始壞掉的橘子找出來,再找出壞掉橘子旁邊是否為新鮮的橘子,如果為新鮮的橘子,將橘子設定為壞掉的,然後將座標存入queue中,最為下一層的壞橘子,值到queue為空 ...

leetCode Day27

Validate Binary Search Tree 題目: 驗證是否為二分搜尋樹 解法: 設定最大值為無限大,最小值為負無限大,每個節點的值會在最大和最小值中間,左節點時最大值要換成父節點的值,右節點時最小時要換成父節點的值,都有符合的話就為二分搜尋樹 code /** * Definition for a binary tree node. * type Tree...

leetCode Day26

Product of Array Except Self 題目: 一個數字陣列,算出數字總和,除了自己 解法: 算出每個點左邊的總和,和右邊的總和,兩個相加 code func productExceptSelf(nums []int) []int { length := len(nums) result := make([]int, length) ...

leetCode Day25

Implement Trie (Prefix Tree) 題目: 前綴樹,根節點不包含字符,每一個節點都只有一個字符 解法: 定義樹結構,有children有26個字母的樹結構和是否為結束的狀態,Insert時就跑字串,如果不存在於樹結構中,就建立樹結構,最後的樹結構的狀態為true,Search時就跑字串,如果字串不存在於樹結構中就返回false,如果字串跑完,就返回該樹結構的狀...

leetCode Day24

Evaluate Reverse Polish Notation 題目: 計算反向波蘭表示法中算數表達式的值。 解法: 使用queue將數字存入queue中,然後遇到運算符號時,將queue中最後兩個數字取出,並算出結果,再丟回queue中,最後queue[0]為答案 code func evalRPN(tokens []string) int { var resu...

leetCode Day23

Longest Substring Without Repeating Characters 題目: 給一個二分樹,返回節點級別的順序遍歷 解法: 定義一個空矩陣和節點級別,遞歸,如果二分樹為空的話,返回結果,如果結果矩陣的長度比節點級別+1還小的話,將空陣列塞入矩陣,將節點值塞入矩陣中,遍歷左節點和右節點,節點級別需+1 code /** * Definition fo...

leetCode Day22

Longest Substring Without Repeating Characters 題目: 給一個字串,找出最長的子字串,子字串不能有重複的字 解法: 定義一個陣列用來儲存字母在哪個位置出現過,字串跑迴圈,如果該字母沒有在陣列中出現,把字母存入陣列中,長度為max(之前的長度,跑到第幾個位置-前面最大的重複長度+1),如果字母有出現在陣列中,重複長度為max(重複長度,該...

leetCode Day21

01 Matrix 題目: 有一個由0,1組成的矩陣,算出各點到0的最短距離,兩個點之間的距離為1 解法: 找出原矩陣值為0的點,將該點存入p矩陣中,並設定矩陣res,如果原矩陣點的值不為0,設定為最大值,為0的話設定為0,之後,如果p矩陣不為空的話,將p矩陣的點取出,跑相鄰的四的點,如果點的值為最大值,表示該點之前尚未走到過,該點為現在點的值+1,直到矩陣p跑完為空 cod...

Trending Tags