From 4926d659a7937c880e631c4cde4f017d7e3e193e Mon Sep 17 00:00:00 2001 From: YusenAi <59075298+Aitensa@users.noreply.github.com> Date: Wed, 1 Sep 2021 16:39:46 +0800 Subject: [PATCH 1/9] =?UTF-8?q?Update=200714.=E4=B9=B0=E5=8D=96=E8=82=A1?= =?UTF-8?q?=E7=A5=A8=E7=9A=84=E6=9C=80=E4=BD=B3=E6=97=B6=E6=9C=BA=E5=90=AB?= =?UTF-8?q?=E6=89=8B=E7=BB=AD=E8=B4=B9=EF=BC=88=E5=8A=A8=E6=80=81=E8=A7=84?= =?UTF-8?q?=E5=88=92=EF=BC=89.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md b/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md index 50db8868..b854c65c 100644 --- a/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md +++ b/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md @@ -152,6 +152,24 @@ class Solution: ``` Go: +```Go +func maxProfit(prices []int, fee int) int { + n := len(prices) + dp := make([][2]int, n) + dp[0][0] = -prices[0] + for i := 1; i < n; i++ { + dp[i][1] = max(dp[i-1][1], dp[i-1][0]+prices[i]-fee) + dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i]) + } + return dp[n-1][1] +} +func max(a, b int) int { + if a > b { + return a + } + return b +} +``` Javascript: ```javascript From e6fdf1023336647471c122b68779e34a2ee2facd Mon Sep 17 00:00:00 2001 From: YusenAi <59075298+Aitensa@users.noreply.github.com> Date: Wed, 1 Sep 2021 16:45:15 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200714.=E4=B9=B0?= =?UTF-8?q?=E5=8D=96=E8=82=A1=E7=A5=A8=E7=9A=84=E6=9C=80=E4=BD=B3=E6=97=B6?= =?UTF-8?q?=E6=9C=BA=E5=90=AB=E6=89=8B=E7=BB=AD=E8=B4=B9=EF=BC=88=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=A7=84=E5=88=92=EF=BC=89.md=20Go=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md | 1 + 1 file changed, 1 insertion(+) diff --git a/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md b/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md index b854c65c..7c54a2fe 100644 --- a/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md +++ b/problems/0714.ä¹°å–è‚¡ç¥¨çš„æœ€ä½³æ—¶æœºå«æ‰‹ç»­è´¹ï¼ˆåЍæ€è§„划).md @@ -163,6 +163,7 @@ func maxProfit(prices []int, fee int) int { } return dp[n-1][1] } + func max(a, b int) int { if a > b { return a From 325a09cee71a83261ba037f29eb27bb4f0b2522e Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 18:44:41 -0400 Subject: [PATCH 3/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A00704=E4=BA=8C=E5=88=86?= =?UTF-8?q?=E6=9F=A5=E6=89=BEPHP=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0704.二分查找.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/problems/0704.二分查找.md b/problems/0704.二分查找.md index 495f7367..f358d2be 100644 --- a/problems/0704.二分查找.md +++ b/problems/0704.二分查找.md @@ -478,6 +478,38 @@ int search(int* nums, int numsSize, int target){ } ``` +**PHP:** +```php +// 左闭å³é—­åŒºé—´ +class Solution { + /** + * @param Integer[] $nums + * @param Integer $target + * @return Integer + */ + function search($nums, $target) { + if (count($nums) == 0) { + return -1; + } + $left = 0; + $right = count($nums) - 1; + while ($left <= $right) { + $mid = floor(($left + $right) / 2); + if ($nums[$mid] == $target) { + return $mid; + } + if ($nums[$mid] > $target) { + $right = $mid - 1; + } + else { + $left = $mid + 1; + } + } + return -1; + } +} +``` + ----------------------- * 作者微信:[程åºå‘˜Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) * B站视频:[代ç éšæƒ³å½•](https://space.bilibili.com/525438321) From 3441bced1289c183f9e05b005c1a67a4971014a2 Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 18:56:34 -0400 Subject: [PATCH 4/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200027.=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=85=83=E7=B4=A0=20PHP=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0027.移除元素.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/problems/0027.移除元素.md b/problems/0027.移除元素.md index e3b75719..7976dce3 100644 --- a/problems/0027.移除元素.md +++ b/problems/0027.移除元素.md @@ -246,6 +246,31 @@ func removeElement(_ nums: inout [Int], _ val: Int) -> Int { } ``` +PHP: +```php +class Solution { + /** + * @param Integer[] $nums + * @param Integer $val + * @return Integer + */ + function removeElement(&$nums, $val) { + if (count($nums) == 0) { + return 0; + } + // 快慢指针 + $slow = 0; + for ($fast = 0; $fast < count($nums); $fast++) { + if ($nums[$fast] != $val) { + $nums[$slow] = $nums[$fast]; + $slow++; + } + } + return $slow; + } +} +``` + ----------------------- * 作者微信:[程åºå‘˜Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) * B站视频:[代ç éšæƒ³å½•](https://space.bilibili.com/525438321) From 484491f840566ad219ee1505f13e8de355a11429 Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 19:02:40 -0400 Subject: [PATCH 5/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200977.=E6=9C=89?= =?UTF-8?q?=E5=BA=8F=E6=95=B0=E7=BB=84=E7=9A=84=E5=B9=B3=E6=96=B9=20PHP?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0977.æœ‰åºæ•°ç»„的平方.md | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/problems/0977.æœ‰åºæ•°ç»„的平方.md b/problems/0977.æœ‰åºæ•°ç»„的平方.md index 13142853..250234e1 100644 --- a/problems/0977.æœ‰åºæ•°ç»„的平方.md +++ b/problems/0977.æœ‰åºæ•°ç»„的平方.md @@ -270,6 +270,33 @@ def sorted_squares(nums) end ``` +PHP: +```php +class Solution { + /** + * @param Integer[] $nums + * @return Integer[] + */ + function sortedSquares($nums) { + $res = []; + for ($i = 0; $i < count($nums); $i++) { + $res[$i] = 0; + } + $k = count($nums) - 1; + for ($i = 0, $j = count($nums) - 1; $i <= $j; ) { + if ($nums[$i] ** 2 < $nums[$j] ** 2) { + $res[$k--] = $nums[$j] ** 2; + $j--; + } + else { + $res[$k--] = $nums[$i] ** 2; + $i++; + } + } + return $res; + } +} +``` ----------------------- From efda64220ff36302999fb24b3e850262363ef76b Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 19:03:48 -0400 Subject: [PATCH 6/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200977.=E6=9C=89?= =?UTF-8?q?=E5=BA=8F=E6=95=B0=E7=BB=84=E7=9A=84=E5=B9=B3=E6=96=B9=20PHP?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0977.æœ‰åºæ•°ç»„的平方.md | 1 + 1 file changed, 1 insertion(+) diff --git a/problems/0977.æœ‰åºæ•°ç»„的平方.md b/problems/0977.æœ‰åºæ•°ç»„的平方.md index 250234e1..a10afbfb 100644 --- a/problems/0977.æœ‰åºæ•°ç»„的平方.md +++ b/problems/0977.æœ‰åºæ•°ç»„的平方.md @@ -278,6 +278,7 @@ class Solution { * @return Integer[] */ function sortedSquares($nums) { + // åŒæŒ‡é’ˆæ³• $res = []; for ($i = 0; $i < count($nums); $i++) { $res[$i] = 0; From a6a8dc080647bfe243824a7990f346941f5aa128 Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 19:05:54 -0400 Subject: [PATCH 7/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200209.=E9=95=BF?= =?UTF-8?q?=E5=BA=A6=E6=9C=80=E5=B0=8F=E7=9A=84=E5=AD=90=E6=95=B0=E7=BB=84?= =?UTF-8?q?=20PHP=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0209.长度最å°çš„å­æ•°ç»„.md | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/problems/0209.长度最å°çš„å­æ•°ç»„.md b/problems/0209.长度最å°çš„å­æ•°ç»„.md index ceca8c87..7c3fd0e7 100644 --- a/problems/0209.长度最å°çš„å­æ•°ç»„.md +++ b/problems/0209.长度最å°çš„å­æ•°ç»„.md @@ -264,6 +264,34 @@ impl Solution { } ``` +PHP: +```php +// åŒæŒ‡é’ˆ - æ»‘åŠ¨çª—å£ +class Solution { + /** + * @param Integer $target + * @param Integer[] $nums + * @return Integer + */ + function minSubArrayLen($target, $nums) { + if (count($nums) < 1) { + return 0; + } + $sum = 0; + $res = PHP_INT_MAX; + $left = 0; + for ($right = 0; $right < count($nums); $right++) { + $sum += $nums[$right]; + while ($sum >= $target) { + $res = min($res, $right - $left + 1); + $sum -= $nums[$left]; + $left++; + } + } + return $res == PHP_INT_MAX ? 0 : $res; + } +} +``` ----------------------- * 作者微信:[程åºå‘˜Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) From e8851b049069734f3f7c8b03ef5c8a2e698dd25b Mon Sep 17 00:00:00 2001 From: nolanzzz Date: Wed, 1 Sep 2021 19:08:21 -0400 Subject: [PATCH 8/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200059.=E8=9E=BA?= =?UTF-8?q?=E6=97=8B=E7=9F=A9=E9=98=B5II=20PHP=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0059.螺旋矩阵II.md | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/problems/0059.螺旋矩阵II.md b/problems/0059.螺旋矩阵II.md index 4231fb39..3dbc2a50 100644 --- a/problems/0059.螺旋矩阵II.md +++ b/problems/0059.螺旋矩阵II.md @@ -426,6 +426,48 @@ impl Solution { } ``` +PHP: +```php +class Solution { + /** + * @param Integer $n + * @return Integer[][] + */ + function generateMatrix($n) { + // åˆå§‹åŒ–数组 + $res = array_fill(0, $n, array_fill(0, $n, 0)); + $mid = $loop = floor($n / 2); + $startX = $startY = 0; + $offset = 1; + $count = 1; + while ($loop > 0) { + $i = $startX; + $j = $startY; + for (; $j < $startY + $n - $offset; $j++) { + $res[$i][$j] = $count++; + } + for (; $i < $startX + $n - $offset; $i++) { + $res[$i][$j] = $count++; + } + for (; $j > $startY; $j--) { + $res[$i][$j] = $count++; + } + for (; $i > $startX; $i--) { + $res[$i][$j] = $count++; + } + $startX += 1; + $startY += 1; + $offset += 2; + $loop--; + } + if ($n % 2 == 1) { + $res[$mid][$mid] = $count; + } + return $res; + } +} +``` + ----------------------- * 作者微信:[程åºå‘˜Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) From 34e8e4d5149159c9f95b63246e59219a930b78ea Mon Sep 17 00:00:00 2001 From: YusenAi <59075298+Aitensa@users.noreply.github.com> Date: Thu, 2 Sep 2021 13:12:36 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200968.=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E4=BA=8C=E5=8F=89=E6=A0=91.md=20=20Go=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0968.ç›‘æŽ§äºŒå‰æ ‘.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/problems/0968.ç›‘æŽ§äºŒå‰æ ‘.md b/problems/0968.ç›‘æŽ§äºŒå‰æ ‘.md index 737e92a0..a5fa71a7 100644 --- a/problems/0968.ç›‘æŽ§äºŒå‰æ ‘.md +++ b/problems/0968.ç›‘æŽ§äºŒå‰æ ‘.md @@ -368,7 +368,34 @@ class Solution: return result ``` Go: +```go +const inf = math.MaxInt64 / 2 +func minCameraCover(root *TreeNode) int { + var dfs func(*TreeNode) (a, b, c int) + dfs = func(node *TreeNode) (a, b, c int) { + if node == nil { + return inf, 0, 0 + } + lefta, leftb, leftc := dfs(node.Left) + righta, rightb, rightc := dfs(node.Right) + a = leftc + rightc + 1 + b = min(a, min(lefta+rightb, righta+leftb)) + c = min(a, leftb+rightb) + return + } + _, ans, _ := dfs(root) + return ans +} + +func min(a, b int) int { + if a <= b { + return a + } + return b +} + +``` Javascript: ```Javascript var minCameraCover = function(root) {