Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ def minScoreTriangulation(self, values: List[int]) -> int:
def dfs(i: int, j: int) -> int:
if i + 1 == j:
return 0
return min(dfs(i, k) + dfs(k, j) + values[i] * values[k] * values[j] for k in range(i + 1, j))
return min(
dfs(i, k) + dfs(k, j) + values[i] * values[k] * values[j]
for k in range(i + 1, j)
)

return dfs(0, len(values) - 1)
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,27 @@ func prevPermOpt1(arr []int) []int {
}
```

### **TypeScript**

```ts
function prevPermOpt1(arr: number[]): number[] {
const n = arr.length;
for (let i = n - 1; i > 0; --i) {
if (arr[i - 1] > arr[i]) {
for (let j = n - 1; j > i - 1; --j) {
if (arr[j] < arr[i - 1] && arr[j] !== arr[j - 1]) {
const t = arr[i - 1];
arr[i - 1] = arr[j];
arr[j] = t;
return arr;
}
}
}
}
return arr;
}
```

### **...**

```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,27 @@ func prevPermOpt1(arr []int) []int {
}
```

### **TypeScript**

```ts
function prevPermOpt1(arr: number[]): number[] {
const n = arr.length;
for (let i = n - 1; i > 0; --i) {
if (arr[i - 1] > arr[i]) {
for (let j = n - 1; j > i - 1; --j) {
if (arr[j] < arr[i - 1] && arr[j] !== arr[j - 1]) {
const t = arr[i - 1];
arr[i - 1] = arr[j];
arr[j] = t;
return arr;
}
}
}
}
return arr;
}
```

### **...**

```
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
function prevPermOpt1(arr: number[]): number[] {
const n = arr.length;
for (let i = n - 1; i > 0; --i) {
if (arr[i - 1] > arr[i]) {
for (let j = n - 1; j > i - 1; --j) {
if (arr[j] < arr[i - 1] && arr[j] !== arr[j - 1]) {
const t = arr[i - 1];
arr[i - 1] = arr[j];
arr[j] = t;
return arr;
}
}
}
}
return arr;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ def maxWidthOfVerticalArea(self, points: List[List[int]]) -> int:
continue
ans = max(ans, curmin - prev)
prev = curmax
return ans
return ans
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
# self.left = None
# self.right = None


class Solution:
def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
def lowestCommonAncestor(
self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode'
) -> 'TreeNode':
def dfs(root, p, q):
if root is None:
return False
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
class Solution:
def findRLEArray(self, encoded1: List[List[int]], encoded2: List[List[int]]) -> List[List[int]]:
def findRLEArray(
self, encoded1: List[List[int]], encoded2: List[List[int]]
) -> List[List[int]]:
ans = []
j = 0
for vi, fi in encoded1:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ def maxSum(self, grid: List[List[int]]) -> int:
for i in range(1, m - 1):
for j in range(1, n - 1):
s = -grid[i][j - 1] - grid[i][j + 1]
s += sum(grid[x][y] for x in range(i - 1, i + 2)
for y in range(j - 1, j + 2))
s += sum(
grid[x][y] for x in range(i - 1, i + 2) for y in range(j - 1, j + 2)
)
ans = max(ans, s)
return ans
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<p>现在有一个正凸多边形,其上共有 <code>n</code> 个顶点。顶点按顺时针方向从 <code>0</code> 到 <code>n - 1</code> 依次编号。每个顶点上 <strong>正好有一只猴子</strong> 。下图中是一个 6 个顶点的凸多边形。</p>

<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2500-2599/2550.Count%20Collisions%20of%20Monkeys%20on%20a%20Polygon/images/hexagon.jpg" style="width: 300px; height: 293px;"></p>
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2500-2599/2550.Count%20Collisions%20of%20Monkeys%20on%20a%20Polygon/images/hexagon.jpg" style="width: 300px; height: 293px;" /></p>

<p>每个猴子同时移动到相邻的顶点。顶点 <code>i</code> 的相邻顶点可以是:</p>

Expand All @@ -17,7 +17,7 @@
<li>逆时针方向的顶点 <code>(i - 1 + n) % n</code> 。</li>
</ul>

<p>如果移动后至少有两个猴子位于同一顶点,则会发生 <strong>碰撞</strong> 。</p>
<p>如果移动后至少有两只猴子停留在同一个顶点上或者相交在一条边上,则会发生 <strong>碰撞</strong> 。</p>

<p>返回猴子至少发生 <strong>一次碰撞 </strong>的移动方法数。由于答案可能非常大,请返回对 <code>10<sup>9</sup>+7</code> 取余后的结果。</p>

Expand All @@ -27,7 +27,8 @@

<p><strong>示例 1:</strong></p>

<pre><strong>输入:</strong>n = 3
<pre>
<strong>输入:</strong>n = 3
<strong>输出:</strong>6
<strong>解释:</strong>共计 8 种移动方式。
下面列出两种会发生碰撞的方式:
Expand All @@ -38,7 +39,8 @@

<p><strong>示例 2:</strong></p>

<pre><strong>输入:</strong>n = 4
<pre>
<strong>输入:</strong>n = 4
<strong>输出:</strong>14
<strong>解释:</strong>可以证明,有 14 种让猴子碰撞的方法。</pre>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
class Solution:
def kItemsWithMaximumSum(self, numOnes: int, numZeros: int, numNegOnes: int, k: int) -> int:
def kItemsWithMaximumSum(
self, numOnes: int, numZeros: int, numNegOnes: int, k: int
) -> int:
if numOnes >= k:
return k
k -= numOnes
Expand Down
Loading