From 9e72ececb772cb0767ff9a9df1a0e985d38f31a5 Mon Sep 17 00:00:00 2001
From: yanpeng <540310270@qq.com>
Date: Sun, 5 Jul 2020 14:42:49 +0800
Subject: [PATCH 1/9] =?UTF-8?q?122=E3=80=81860=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week01/122.py | 8 ++++++++
Week01/860.py | 20 ++++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 Week01/122.py
create mode 100644 Week01/860.py
diff --git a/Week01/122.py b/Week01/122.py
new file mode 100644
index 000000000..a4b9237c1
--- /dev/null
+++ b/Week01/122.py
@@ -0,0 +1,8 @@
+class Solution:
+ def maxProfit(self, prices: List[int]) -> int:
+ profit = 0
+ for i in range(0, len(prices) - 1):
+ temp = prices[i + 1] - prices[i]
+ if temp > 0:
+ profit = profit + temp
+ return profit
diff --git a/Week01/860.py b/Week01/860.py
new file mode 100644
index 000000000..304a7f9d6
--- /dev/null
+++ b/Week01/860.py
@@ -0,0 +1,20 @@
+# 860. 柠檬水找零
+class Solution:
+ def lemonadeChange(self, bills) -> bool:
+ five = ten = 0
+ for money in bills:
+ if money == 5:
+ five += 1
+ elif money == 10:
+ five -= 1
+ ten += 1
+ else:
+ if ten == 0:
+ five -= 3
+ else:
+ ten -= 1
+ five -= 1
+ if five < 0 or ten < 0:
+ return False
+ return True
+
From 0207f68ac3743e04e4432f54dc7fb6c75ad9c7d0 Mon Sep 17 00:00:00 2001
From: yanpeng <540310270@qq.com>
Date: Sun, 5 Jul 2020 14:49:53 +0800
Subject: [PATCH 2/9] =?UTF-8?q?=E5=8E=BB=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week01/122.py | 8 --------
Week01/860.py | 20 --------------------
2 files changed, 28 deletions(-)
delete mode 100644 Week01/122.py
delete mode 100644 Week01/860.py
diff --git a/Week01/122.py b/Week01/122.py
deleted file mode 100644
index a4b9237c1..000000000
--- a/Week01/122.py
+++ /dev/null
@@ -1,8 +0,0 @@
-class Solution:
- def maxProfit(self, prices: List[int]) -> int:
- profit = 0
- for i in range(0, len(prices) - 1):
- temp = prices[i + 1] - prices[i]
- if temp > 0:
- profit = profit + temp
- return profit
diff --git a/Week01/860.py b/Week01/860.py
deleted file mode 100644
index 304a7f9d6..000000000
--- a/Week01/860.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 860. 柠檬水找零
-class Solution:
- def lemonadeChange(self, bills) -> bool:
- five = ten = 0
- for money in bills:
- if money == 5:
- five += 1
- elif money == 10:
- five -= 1
- ten += 1
- else:
- if ten == 0:
- five -= 3
- else:
- ten -= 1
- five -= 1
- if five < 0 or ten < 0:
- return False
- return True
-
From a2254db655c4036229d2a4d3121d97ce8e7c315d Mon Sep 17 00:00:00 2001
From: yanpeng <540310270@qq.com>
Date: Sun, 5 Jul 2020 20:56:43 +0800
Subject: [PATCH 3/9] =?UTF-8?q?122=E3=80=81860?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week04/122.py | 8 ++++++++
Week04/860.py | 20 ++++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 Week04/122.py
create mode 100644 Week04/860.py
diff --git a/Week04/122.py b/Week04/122.py
new file mode 100644
index 000000000..a4b9237c1
--- /dev/null
+++ b/Week04/122.py
@@ -0,0 +1,8 @@
+class Solution:
+ def maxProfit(self, prices: List[int]) -> int:
+ profit = 0
+ for i in range(0, len(prices) - 1):
+ temp = prices[i + 1] - prices[i]
+ if temp > 0:
+ profit = profit + temp
+ return profit
diff --git a/Week04/860.py b/Week04/860.py
new file mode 100644
index 000000000..304a7f9d6
--- /dev/null
+++ b/Week04/860.py
@@ -0,0 +1,20 @@
+# 860. 柠檬水找零
+class Solution:
+ def lemonadeChange(self, bills) -> bool:
+ five = ten = 0
+ for money in bills:
+ if money == 5:
+ five += 1
+ elif money == 10:
+ five -= 1
+ ten += 1
+ else:
+ if ten == 0:
+ five -= 3
+ else:
+ ten -= 1
+ five -= 1
+ if five < 0 or ten < 0:
+ return False
+ return True
+
From 68ff66d15ebce05a1c240aa9232d654d558dacc0 Mon Sep 17 00:00:00 2001
From: yanpeng <540310270@qq.com>
Date: Sat, 18 Jul 2020 21:43:59 +0800
Subject: [PATCH 4/9] =?UTF-8?q?=E5=85=AD=E5=91=A8=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week06/1143.py | 13 +++++++++++++
Week06/62.py | 11 +++++++++++
Week06/64.py | 14 ++++++++++++++
Week06/91.py | 21 +++++++++++++++++++++
Week06/NOTE.md | 6 +++++-
5 files changed, 64 insertions(+), 1 deletion(-)
create mode 100644 Week06/1143.py
create mode 100644 Week06/62.py
create mode 100644 Week06/64.py
create mode 100644 Week06/91.py
diff --git a/Week06/1143.py b/Week06/1143.py
new file mode 100644
index 000000000..2dffcd183
--- /dev/null
+++ b/Week06/1143.py
@@ -0,0 +1,13 @@
+class Solution:
+ def longestCommonSubsequence(self, text1: str, text2: str) -> int:
+ if not text1 or not text2:
+ return 0
+ m, n = len(text1), len(text2)
+ dp = [[0] * (n + 1) for _ in range(m + 1)]
+ for i in range(1, m + 1):
+ for j in range(1, n + 1):
+ if text1[i - 1] == text2[j - 1]:
+ dp[i][j] = dp[i - 1][j - 1] + 1
+ else:
+ dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
+ return dp[m][n]
diff --git a/Week06/62.py b/Week06/62.py
new file mode 100644
index 000000000..4453929f5
--- /dev/null
+++ b/Week06/62.py
@@ -0,0 +1,11 @@
+class Solution:
+ def uniquePaths(self, m: int, n: int) -> int:
+ if not m or not n:
+ return 0
+
+ dp = [[1]*n] + [[1]+[0] * (n-1) for _ in range(m-1)]
+
+ for i in range(1, m):
+ for j in range(1, n):
+ dp[i][j] = dp[i-1][j] + dp[i][j-1]
+ return dp[-1][-1]
diff --git a/Week06/64.py b/Week06/64.py
new file mode 100644
index 000000000..7f1a08234
--- /dev/null
+++ b/Week06/64.py
@@ -0,0 +1,14 @@
+class Solution:
+ def minPathSum(self, grid: List[List[int]]) -> int:
+ dp = grid
+ for i in range(len(grid)):
+ for j in range(len(grid[0])):
+ if i == j == 0:
+ continue
+ elif i == 0:
+ dp[i][j] = dp[i][j-1] + grid[i][j]
+ elif j == 0:
+ dp[i][j] = dp[i-1][j] + grid[i][j]
+ else:
+ dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]
+ return dp[-1][-1]
diff --git a/Week06/91.py b/Week06/91.py
new file mode 100644
index 000000000..825037f9e
--- /dev/null
+++ b/Week06/91.py
@@ -0,0 +1,21 @@
+def numDecodings(s: str) -> int:
+ pre = 1
+ cur = 1
+ if s[0] == "0":
+ return 0
+ for i in range(1, len(s)):
+ if s[i] == "0":
+ if s[i - 1] == "1" or s[i - 1] == "2":
+ cur = pre
+ else:
+ return 0
+ else:
+ if s[i - 1] == "1" or (s[i - 1] == "2" and "1" <= s[i] <= "6"):
+ temp = cur
+ cur += pre
+ pre = temp
+ else:
+ pre = cur
+ cur = cur
+
+ return cur
diff --git a/Week06/NOTE.md b/Week06/NOTE.md
index 50de30414..9b4988afb 100644
--- a/Week06/NOTE.md
+++ b/Week06/NOTE.md
@@ -1 +1,5 @@
-学习笔记
\ No newline at end of file
+学习笔记
+动态规划
+1.最优子结构
+2.储存中间状态
+3.DP方程
\ No newline at end of file
From 29eb1ed1a7714ff9aea80fe2aef59d4ea21acbd0 Mon Sep 17 00:00:00 2001
From: Roc <540310270@qq.com>
Date: Sun, 26 Jul 2020 13:14:00 +0800
Subject: [PATCH 5/9] 208
---
Week07/208.py | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 Week07/208.py
diff --git a/Week07/208.py b/Week07/208.py
new file mode 100644
index 000000000..acf8aae2f
--- /dev/null
+++ b/Week07/208.py
@@ -0,0 +1,39 @@
+class Trie:
+
+ def __init__(self):
+ """
+ Initialize your data structure here.
+ """
+ self.root = {}
+ self.end_of_word = "#"
+
+ def insert(self, word: str) -> None:
+ """
+ Inserts a word into the trie.
+ """
+ node = self.root
+ for char in word:
+ node = node.setdefault(char, {})
+ node[self.end_of_word] = self.end_of_word
+
+ def search(self, word: str) -> bool:
+ """
+ Returns if the word is in the trie.
+ """
+ node = self.root
+ for char in word:
+ if char not in node:
+ return False
+ node = node[char]
+ return self.end_of_word in node
+
+ def startsWith(self, prefix: str) -> bool:
+ """
+ Returns if there is any word in the trie that starts with the given prefix.
+ """
+ node = self.root
+ for char in prefix:
+ if char not in node:
+ return False
+ node = node[char]
+ return True
From 40f853781d22d831c011e8ec3ef21b5cf749812b Mon Sep 17 00:00:00 2001
From: Roc <540310270@qq.com>
Date: Sun, 26 Jul 2020 16:21:50 +0800
Subject: [PATCH 6/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week07/200.py | 21 +++++++++++++++++++++
Week07/433.py | 25 +++++++++++++++++++++++++
2 files changed, 46 insertions(+)
create mode 100644 Week07/200.py
create mode 100644 Week07/433.py
diff --git a/Week07/200.py b/Week07/200.py
new file mode 100644
index 000000000..cd03fea74
--- /dev/null
+++ b/Week07/200.py
@@ -0,0 +1,21 @@
+class Solution:
+ def dfs(self, grid, r, c):
+ grid[r][c] = "0"
+ nr = len(grid)
+ nl = len(grid[0])
+ for x, y in [(r - 1, c), (r + 1, c), (r, c - 1), (r, c + 1)]:
+ if 0 <= x < nr and 0 <= y < nl and grid[x][y] == "1":
+ self.dfs(grid, x, y)
+
+ def numIslands(self, grid: List[List[str]]) -> int:
+ nr = len(grid)
+ if nr == 0:
+ return 0
+ nl = len(grid[0])
+ num_island = 0
+ for r in range(nr):
+ for l in range(nl):
+ if grid[r][l] == "1":
+ num_island += 1
+ self.dfs(grid, r, l)
+ return num_island
diff --git a/Week07/433.py b/Week07/433.py
new file mode 100644
index 000000000..057ac32b6
--- /dev/null
+++ b/Week07/433.py
@@ -0,0 +1,25 @@
+class Solution:
+ def minMutation(self, start: str, end: str, bank: List[str]) -> int:
+ bank = set(bank)
+ if end not in bank:
+ return -1
+ change_map = {
+ "A": "CGT",
+ "C": "AGT",
+ "G": "ACT",
+ "T": "ACG"
+ }
+ queue = [(start, 0)]
+ while queue:
+ node, step = queue.pop(0)
+
+ if node == end:
+ return step
+
+ for i, s in enumerate(node):
+ for c in change_map[s]:
+ new = node[:i] + c + node[i + 1:]
+ if new in bank:
+ queue.append((new, step + 1))
+ bank.remove(new)
+ return -1
From bc457be38e5b2cd3c31c24377451a9949985373c Mon Sep 17 00:00:00 2001
From: Roc <540310270@qq.com>
Date: Sun, 2 Aug 2020 21:54:02 +0800
Subject: [PATCH 7/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.gitignore | 3 +++
.idea/algorithm010.iml | 8 ++++++++
.idea/inspectionProfiles/profiles_settings.xml | 6 ++++++
.idea/misc.xml | 4 ++++
.idea/modules.xml | 8 ++++++++
.idea/vcs.xml | 6 ++++++
Week08/1122.py | 15 +++++++++++++++
Week08/146.py | 0
Week08/191.py | 7 +++++++
Week08/242.py | 4 ++++
Week08/338.py | 9 +++++++++
11 files changed, 70 insertions(+)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/algorithm010.iml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 Week08/1122.py
create mode 100644 Week08/146.py
create mode 100644 Week08/191.py
create mode 100644 Week08/242.py
create mode 100644 Week08/338.py
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 000000000..26d33521a
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/algorithm010.iml b/.idea/algorithm010.iml
new file mode 100644
index 000000000..d0876a78d
--- /dev/null
+++ b/.idea/algorithm010.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 000000000..105ce2da2
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..8fa8e3bb9
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..39a5bed6d
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..94a25f7f4
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Week08/1122.py b/Week08/1122.py
new file mode 100644
index 000000000..f0513284d
--- /dev/null
+++ b/Week08/1122.py
@@ -0,0 +1,15 @@
+class Solution:
+ def relativeSortArray(self, arr1: List[int], arr2: List[int]) -> List[int]:
+ dic = {}
+ not_arry = []
+ for i in range(len(arr1)):
+ dic[arr1[i]] = dic.get(arr1[i], 0) + 1
+ if arr1[i] not in arr2:
+ not_arry.append(arr1[i])
+ not_arry.sort()
+
+ new_arr1 = []
+ arr1 = set(arr1)
+ for j in range(len(arr2)):
+ new_arr1 += [arr2[j]] * dic[arr2[j]]
+ return new_arr1 + not_arry
diff --git a/Week08/146.py b/Week08/146.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/Week08/191.py b/Week08/191.py
new file mode 100644
index 000000000..667846dec
--- /dev/null
+++ b/Week08/191.py
@@ -0,0 +1,7 @@
+class Solution:
+ def hammingWeight(self, n: int) -> int:
+ res = 0
+ while(n!=0):
+ n &= n-1
+ res+=1
+ return res
diff --git a/Week08/242.py b/Week08/242.py
new file mode 100644
index 000000000..9b83ddfb7
--- /dev/null
+++ b/Week08/242.py
@@ -0,0 +1,4 @@
+class Solution:
+ def isAnagram(self, s: str, t: str) -> bool:
+ if len(s) != len(t): return False
+ return sorted(s) == sorted(t)
diff --git a/Week08/338.py b/Week08/338.py
new file mode 100644
index 000000000..92e4a9591
--- /dev/null
+++ b/Week08/338.py
@@ -0,0 +1,9 @@
+class Solution:
+ def countBits(self, num: int) -> List[int]:
+ dp = [0] * (num + 1)
+ for i in range(1, num+1):
+ if i%2 == 1:
+ dp[i] = dp[i-1] +1
+ else:
+ dp[i] = dp[i//2]
+ return dp
From 776e0d57dad76b9f4e299cc6b393d5eb1ac2a9c5 Mon Sep 17 00:00:00 2001
From: Roc <540310270@qq.com>
Date: Sat, 8 Aug 2020 21:32:31 +0800
Subject: [PATCH 8/9] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Week09/125.py | 4 ++++
Week09/14.py | 40 ++++++++++++++++++++++++++++++++++++++++
Week09/344.py | 17 +++++++++++++++++
Week09/541.py | 9 +++++++++
Week09/58.py | 21 +++++++++++++++++++++
Week09/680.py | 19 +++++++++++++++++++
Week09/709.py | 14 ++++++++++++++
Week09/746.py | 5 +++++
8 files changed, 129 insertions(+)
create mode 100644 Week09/125.py
create mode 100644 Week09/14.py
create mode 100644 Week09/344.py
create mode 100644 Week09/541.py
create mode 100644 Week09/58.py
create mode 100644 Week09/680.py
create mode 100644 Week09/709.py
create mode 100644 Week09/746.py
diff --git a/Week09/125.py b/Week09/125.py
new file mode 100644
index 000000000..a3e172fdb
--- /dev/null
+++ b/Week09/125.py
@@ -0,0 +1,4 @@
+class Solution:
+ def isPalindrome(self, s: str) -> bool:
+ res = "".join(ch.lower() for ch in s if ch.isalnum())
+ return res == res[::-1]
\ No newline at end of file
diff --git a/Week09/14.py b/Week09/14.py
new file mode 100644
index 000000000..81abe6a9e
--- /dev/null
+++ b/Week09/14.py
@@ -0,0 +1,40 @@
+class Solution1:
+ def longestCommonPrefix(self, strs: List[str]) -> str:
+ if not strs:
+ return ""
+ s = len(strs)
+ if s == 1:
+ return strs[0]
+ n = len(min(strs))
+ string = ""
+ flag = True
+ for j in range(n):
+ if flag:
+ for l in range(1, s):
+ if strs[l][j] == strs[l-1][j]:
+ if l == s-1:
+ string += strs[l][j]
+ else:
+ flag = False
+ break
+ return string
+
+class Solution2:
+ def longestCommonPrefix(self, strs: List[str]) -> str:
+ s = ""
+ for i in zip(*strs):
+ if len(set(i)) == 1:
+ s += i[0]
+ else:
+ break
+ return s
+
+class Solution3:
+ def longestCommonPrefix(self, strs: List[str]) -> str:
+ if not strs: return ""
+ str0 = min(strs)
+ str1 = max(strs)
+ for i in range(len(str0)):
+ if str0[i] != str1[i]:
+ return str0[:i]
+ return str0
diff --git a/Week09/344.py b/Week09/344.py
new file mode 100644
index 000000000..ea49da454
--- /dev/null
+++ b/Week09/344.py
@@ -0,0 +1,17 @@
+class Solution1:
+ def reverseString(self, s: List[str]) -> None:
+ """
+ Do not return anything, modify s in-place instead.
+ """
+ n = len(s)
+ mid = n // 2
+ for i in range(mid):
+ s[i], s[n-i-1] = s[n-i-1], s[i]
+ return s
+
+class Solution1:
+ def reverseString(self, s: List[str]) -> None:
+ """
+ Do not return anything, modify s in-place instead.
+ """
+ return s.reverse()
\ No newline at end of file
diff --git a/Week09/541.py b/Week09/541.py
new file mode 100644
index 000000000..82f364e4b
--- /dev/null
+++ b/Week09/541.py
@@ -0,0 +1,9 @@
+class Solution:
+ def reverseStr(self, s: str, k: int) -> str:
+ if not s:
+ return s
+ a = list(s)
+ n = len(s)
+ for i in range(0, n, 2*k):
+ a[i:i+k] = reversed(a[i:i+k])
+ return "".join(a)
diff --git a/Week09/58.py b/Week09/58.py
new file mode 100644
index 000000000..69c1d395f
--- /dev/null
+++ b/Week09/58.py
@@ -0,0 +1,21 @@
+class Solution1:
+ def lengthOfLastWord(self, s: str) -> int:
+ string = s.split()
+ return len(string[-1]) if string else 0
+
+class Solution2:
+ def lengthOfLastWord(self, s: str) -> int:
+ if not s and len(s) == 0:
+ return 0
+ count = 0
+ for i in s[::-1]:
+ if i == " ":
+ if count == 0:
+ continue
+ else:
+ break
+ else:
+ count += 1
+
+ return count
+
diff --git a/Week09/680.py b/Week09/680.py
new file mode 100644
index 000000000..2e0b507ae
--- /dev/null
+++ b/Week09/680.py
@@ -0,0 +1,19 @@
+class Solution:
+ def validPalindrome(self, s: str) -> bool:
+ def check(low, high):
+ i, j = low, high
+ while i < j:
+ if s[i] != s[j]:
+ return False
+ i += 1
+ j -= 1
+ return True
+
+ low, high = 0, len(s)-1
+ while low < high:
+ if s[low] == s[high]:
+ low += 1
+ high -= 1
+ else:
+ return check(low+1, high) or check(low, high-1)
+ return True
diff --git a/Week09/709.py b/Week09/709.py
new file mode 100644
index 000000000..d82fde047
--- /dev/null
+++ b/Week09/709.py
@@ -0,0 +1,14 @@
+class Solution1:
+ def toLowerCase(self, str: str) -> str:
+ dic = {'A':'a', 'B':'b', 'C':'c', 'D':'d', 'E':'e', 'F':'f',
+ 'G':'g', 'H':'h', 'I':'i', 'J':'j', 'K':'k', 'L':'l',
+ 'M':'m', 'N':'n', 'O':'o','P':'p', 'Q':'q', 'R':'r',
+ 'S':'s', 'T':'t', 'U':'u', 'V':'v', 'W':'w', 'X':'x',
+ 'Y':'y', 'Z':'z'}
+
+ return "".join([dic.get(s, s) for s in str])
+
+
+class Solution2:
+ def toLowerCase(self, str: str) -> str:
+ return str.lower()
\ No newline at end of file
diff --git a/Week09/746.py b/Week09/746.py
new file mode 100644
index 000000000..847e2c747
--- /dev/null
+++ b/Week09/746.py
@@ -0,0 +1,5 @@
+class Solution:
+ def minCostClimbingStairs(self, cost: List[int]) -> int:
+ for i in range(2, len(cost)):
+ cost[i] = min(cost[i-1], cost[i-2]) + cost[i]
+ return min(cost[-1], cost[-2])
From e1d6c7105d66707277b1f6f913cbd9c95a489234 Mon Sep 17 00:00:00 2001
From: Roc <540310270@qq.com>
Date: Sun, 23 Aug 2020 13:33:58 +0800
Subject: [PATCH 9/9] =?UTF-8?q?=E6=80=BB=E7=BB=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Summary.md | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 Summary.md
diff --git a/Summary.md b/Summary.md
new file mode 100644
index 000000000..301c1c033
--- /dev/null
+++ b/Summary.md
@@ -0,0 +1,4 @@
+本次算法训练营收获颇多,了解了数组、链表、栈、队列、堆、树、图、hash表这类数据结构,以及它们的实现原理与代码;
+还了解了递归、分治、回溯、贪心、动态规划、BFS、DFS、二分查找这类算法;
+学习了字典树、并查集以及树的一些特殊结构。
+虽然到现在为止,题目才刷了几十道,但是因为覃超老师的五毒神掌刷题法,效果很不错,希望能在接下来的时间里继续努力刷题,争取校招找到一份满意的工作。
\ No newline at end of file