From 448ef5f40618d2f7428e6ea7107f2f9f24fe987c Mon Sep 17 00:00:00 2001
From: xiaoyu2018 <861900161@qq.com>
Date: Fri, 28 Oct 2022 10:57:36 +0800
Subject: [PATCH] update 0121 and 0122
---
problems/0121.买卖股票的最佳时机.md | 42 +++++++++++++++++++
...票的最佳时机II(动态规划).md | 42 +++++++++++++++++--
2 files changed, 80 insertions(+), 4 deletions(-)
diff --git a/problems/0121.买卖股票的最佳时机.md b/problems/0121.买卖股票的最佳时机.md
index 790bbd88..63ac5d04 100644
--- a/problems/0121.买卖股票的最佳时机.md
+++ b/problems/0121.买卖股票的最佳时机.md
@@ -464,6 +464,47 @@ function maxProfit(prices: number[]): number {
};
```
+C#:
+
+> 贪心法
+
+```csharp
+public class Solution
+{
+ public int MaxProfit(int[] prices)
+ {
+ int min = Int32.MaxValue;
+ int res = 0;
+ for (int i = 0; i < prices.Length; i++)
+ {
+ min = Math.Min(prices[i], min);
+ res = Math.Max(prices[i] - min, res);
+ }
+ return res;
+ }
+}
+```
+
+> 动态规划
+
+```csharp
+public class Solution
+{
+ public int MaxProfit(int[] prices)
+ {
+ int[] dp = new int[2];
+ int size = prices.Length;
+ (dp[0], dp[1]) = (-prices[0], 0);
+ for (int i = 0; i < size; i++)
+ {
+ dp[0] = Math.Max(dp[0], -prices[i]);
+ dp[1] = Math.Max(dp[1], dp[0]+prices[i]);
+ }
+ return dp[1];
+ }
+}
+```
+
@@ -471,3 +512,4 @@ function maxProfit(prices: number[]): number {
+
diff --git a/problems/0122.买卖股票的最佳时机II(动态规划).md b/problems/0122.买卖股票的最佳时机II(动态规划).md
index f5f3f720..f2aec68b 100644
--- a/problems/0122.买卖股票的最佳时机II(动态规划).md
+++ b/problems/0122.买卖股票的最佳时机II(动态规划).md
@@ -169,8 +169,6 @@ class Solution {
}
```
-
-
Python:
> 版本一:
@@ -253,8 +251,6 @@ func max(a,b int)int{
}
```
-
-
Javascript:
```javascript
// 方法一:动态规划(dp 数组)
@@ -331,9 +327,47 @@ function maxProfit(prices: number[]): number {
};
```
+C#:
+
+> 贪心法
+
+```csharp
+public class Solution
+{
+ public int MaxProfit(int[] prices)
+ {
+ int res = 0;
+ for (int i = 1; i < prices.Length; i++)
+ res += Math.Max(0, prices[i] - prices[i-1]);
+ return res;
+ }
+}
+```
+
+> 动态规划
+
+```csharp
+public class Solution
+{
+ public int MaxProfit(int[] prices)
+ {
+ int[] dp = new int[2];
+ dp[0] = -prices[0];
+
+ for (int i = 1; i < prices.Length; i++)
+ {
+ dp[0] = dp[0]>dp[1] - prices[i]?dp[0]:dp[1] - prices[i];
+ dp[1] = dp[1] > dp[0] + prices[i] ? dp[1] : dp[0] + prices[i];
+ }
+ return dp[1];
+ }
+}
+```
+