diff --git a/README.md b/README.md
index 1d7f219d..38418322 100644
--- a/README.md
+++ b/README.md
@@ -531,7 +531,8 @@
如果是已工作,备注:姓名-城市-岗位-组队刷题。如果学生,备注:姓名-学校-年级-组队刷题。**备注没有自我介绍不通过哦**
-

+
+
@@ -543,6 +544,7 @@
**来看看就知道了,你会发现相见恨晚!**
+

diff --git a/problems/0027.移除元素.md b/problems/0027.移除元素.md
index 8d6ca502..590cf0b9 100644
--- a/problems/0027.移除元素.md
+++ b/problems/0027.移除元素.md
@@ -281,10 +281,8 @@ func removeElement(_ nums: inout [Int], _ val: Int) -> Int {
for fastIndex in 0.. 贪心法:
+```Go
+func maxProfit(prices []int) int {
+ low := math.MaxInt32
+ rlt := 0
+ for i := range prices{
+ low = min(low, prices[i])
+ rlt = max(rlt, prices[i]-low)
+ }
+ return rlt
+}
+func min(a, b int) int {
+ if a < b{
+ return a
+ }
+
+ return b
+}
+
+func max(a, b int) int {
+ if a > b{
+ return a
+ }
+
+ return b
+}
+```
+
+> 动态规划:版本一
```Go
func maxProfit(prices []int) int {
length:=len(prices)
@@ -338,6 +367,29 @@ func max(a,b int)int {
}
```
+> 动态规划:版本二
+```Go
+func maxProfit(prices []int) int {
+ dp := [2][2]int{}
+ dp[0][0] = -prices[0]
+ dp[0][1] = 0
+ for i := 1; i < len(prices); i++{
+ dp[i%2][0] = max(dp[(i-1)%2][0], -prices[i])
+ dp[i%2][1] = max(dp[(i-1)%2][1], dp[(i-1)%2][0]+prices[i])
+ }
+
+ return dp[(len(prices)-1)%2][1]
+}
+
+func max(a, b int) int {
+ if a > b{
+ return a
+ }
+
+ return b
+}
+```
+
JavaScript:
> 动态规划
diff --git a/problems/0860.柠檬水找零.md b/problems/0860.柠檬水找零.md
index ffd5490d..5d5d6ad2 100644
--- a/problems/0860.柠檬水找零.md
+++ b/problems/0860.柠檬水找零.md
@@ -252,5 +252,39 @@ var lemonadeChange = function(bills) {
```
+### TypeScript
+
+```typescript
+function lemonadeChange(bills: number[]): boolean {
+ let five: number = 0,
+ ten: number = 0;
+ for (let bill of bills) {
+ switch (bill) {
+ case 5:
+ five++;
+ break;
+ case 10:
+ if (five < 1) return false;
+ five--;
+ ten++
+ break;
+ case 20:
+ if (ten > 0 && five > 0) {
+ five--;
+ ten--;
+ } else if (five > 2) {
+ five -= 3;
+ } else {
+ return false;
+ }
+ break;
+ }
+ }
+ return true;
+};
+```
+
+
+
-----------------------