mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Update
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
> 相对于[贪心算法:跳跃游戏](https://mp.weixin.qq.com/s/606_N9j8ACKCODoCbV1lSA)难了不少,做好心里准备!
|
> 相对于[贪心算法:跳跃游戏](https://mp.weixin.qq.com/s/606_N9j8ACKCODoCbV1lSA)难了不少,做好心里准备!
|
||||||
|
|
||||||
## 45.跳跃游戏II
|
# 45.跳跃游戏II
|
||||||
|
|
||||||
[力扣题目链接](https://leetcode-cn.com/problems/jump-game-ii/)
|
[力扣题目链接](https://leetcode-cn.com/problems/jump-game-ii/)
|
||||||
|
|
||||||
@ -17,9 +17,9 @@
|
|||||||
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
|
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
输入: [2,3,1,1,4]
|
* 输入: [2,3,1,1,4]
|
||||||
输出: 2
|
* 输出: 2
|
||||||
解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
|
* 解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
|
||||||
|
|
||||||
说明:
|
说明:
|
||||||
假设你总是可以到达数组的最后一个位置。
|
假设你总是可以到达数组的最后一个位置。
|
||||||
@ -139,7 +139,7 @@ public:
|
|||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
Java:
|
### Java
|
||||||
```Java
|
```Java
|
||||||
class Solution {
|
class Solution {
|
||||||
public int jump(int[] nums) {
|
public int jump(int[] nums) {
|
||||||
@ -171,7 +171,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
### Python
|
||||||
```python
|
```python
|
||||||
class Solution:
|
class Solution:
|
||||||
def jump(self, nums: List[int]) -> int:
|
def jump(self, nums: List[int]) -> int:
|
||||||
@ -189,7 +189,7 @@ class Solution:
|
|||||||
return ans
|
return ans
|
||||||
```
|
```
|
||||||
|
|
||||||
Go:
|
### Go
|
||||||
```Go
|
```Go
|
||||||
func jump(nums []int) int {
|
func jump(nums []int) int {
|
||||||
dp:=make([]int ,len(nums))
|
dp:=make([]int ,len(nums))
|
||||||
@ -207,7 +207,7 @@ func jump(nums []int) int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Javascript:
|
### Javascript
|
||||||
```Javascript
|
```Javascript
|
||||||
var jump = function(nums) {
|
var jump = function(nums) {
|
||||||
let curIndex = 0
|
let curIndex = 0
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
## 55. 跳跃游戏
|
# 55. 跳跃游戏
|
||||||
|
|
||||||
[力扣题目链接](https://leetcode-cn.com/problems/jump-game/)
|
[力扣题目链接](https://leetcode-cn.com/problems/jump-game/)
|
||||||
|
|
||||||
@ -15,14 +15,14 @@
|
|||||||
判断你是否能够到达最后一个位置。
|
判断你是否能够到达最后一个位置。
|
||||||
|
|
||||||
示例 1:
|
示例 1:
|
||||||
输入: [2,3,1,1,4]
|
* 输入: [2,3,1,1,4]
|
||||||
输出: true
|
* 输出: true
|
||||||
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
|
* 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
|
||||||
|
|
||||||
示例 2:
|
示例 2:
|
||||||
输入: [3,2,1,0,4]
|
* 输入: [3,2,1,0,4]
|
||||||
输出: false
|
* 输出: false
|
||||||
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
|
* 解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
|
||||||
|
|
||||||
|
|
||||||
## 思路
|
## 思路
|
||||||
@ -82,7 +82,7 @@ public:
|
|||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
Java:
|
### Java
|
||||||
```Java
|
```Java
|
||||||
class Solution {
|
class Solution {
|
||||||
public boolean canJump(int[] nums) {
|
public boolean canJump(int[] nums) {
|
||||||
@ -103,7 +103,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
### Python
|
||||||
```python
|
```python
|
||||||
class Solution:
|
class Solution:
|
||||||
def canJump(self, nums: List[int]) -> bool:
|
def canJump(self, nums: List[int]) -> bool:
|
||||||
@ -118,7 +118,7 @@ class Solution:
|
|||||||
return False
|
return False
|
||||||
```
|
```
|
||||||
|
|
||||||
Go:
|
### Go
|
||||||
```Go
|
```Go
|
||||||
func canJUmp(nums []int) bool {
|
func canJUmp(nums []int) bool {
|
||||||
if len(nums)<=1{
|
if len(nums)<=1{
|
||||||
@ -138,7 +138,7 @@ func canJUmp(nums []int) bool {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Javascript:
|
### Javascript
|
||||||
```Javascript
|
```Javascript
|
||||||
var canJump = function(nums) {
|
var canJump = function(nums) {
|
||||||
if(nums.length === 1) return true
|
if(nums.length === 1) return true
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
## 1005.K次取反后最大化的数组和
|
# 1005.K次取反后最大化的数组和
|
||||||
|
|
||||||
[力扣题目链接](https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/)
|
[力扣题目链接](https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/)
|
||||||
|
|
||||||
@ -13,19 +13,19 @@
|
|||||||
以这种方式修改数组后,返回数组可能的最大和。
|
以这种方式修改数组后,返回数组可能的最大和。
|
||||||
|
|
||||||
示例 1:
|
示例 1:
|
||||||
输入:A = [4,2,3], K = 1
|
* 输入:A = [4,2,3], K = 1
|
||||||
输出:5
|
* 输出:5
|
||||||
解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。
|
* 解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。
|
||||||
|
|
||||||
示例 2:
|
示例 2:
|
||||||
输入:A = [3,-1,0,2], K = 3
|
* 输入:A = [3,-1,0,2], K = 3
|
||||||
输出:6
|
* 输出:6
|
||||||
解释:选择索引 (1, 2, 2) ,然后 A 变为 [3,1,0,2]。
|
* 解释:选择索引 (1, 2, 2) ,然后 A 变为 [3,1,0,2]。
|
||||||
|
|
||||||
示例 3:
|
示例 3:
|
||||||
输入:A = [2,-3,-1,5,-4], K = 2
|
* 输入:A = [2,-3,-1,5,-4], K = 2
|
||||||
输出:13
|
* 输出:13
|
||||||
解释:选择索引 (1, 4) ,然后 A 变为 [2,3,-1,5,4]。
|
* 解释:选择索引 (1, 4) ,然后 A 变为 [2,3,-1,5,4]。
|
||||||
|
|
||||||
提示:
|
提示:
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ public:
|
|||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
Java:
|
### Java
|
||||||
```java
|
```java
|
||||||
class Solution {
|
class Solution {
|
||||||
public int largestSumAfterKNegations(int[] nums, int K) {
|
public int largestSumAfterKNegations(int[] nums, int K) {
|
||||||
@ -145,7 +145,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
### Python
|
||||||
```python
|
```python
|
||||||
class Solution:
|
class Solution:
|
||||||
def largestSumAfterKNegations(self, A: List[int], K: int) -> int:
|
def largestSumAfterKNegations(self, A: List[int], K: int) -> int:
|
||||||
@ -159,7 +159,7 @@ class Solution:
|
|||||||
return sum(A)
|
return sum(A)
|
||||||
```
|
```
|
||||||
|
|
||||||
Go:
|
### Go
|
||||||
```Go
|
```Go
|
||||||
func largestSumAfterKNegations(nums []int, K int) int {
|
func largestSumAfterKNegations(nums []int, K int) int {
|
||||||
sort.Slice(nums, func(i, j int) bool {
|
sort.Slice(nums, func(i, j int) bool {
|
||||||
@ -186,7 +186,7 @@ func largestSumAfterKNegations(nums []int, K int) int {
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Javascript:
|
### Javascript
|
||||||
```Javascript
|
```Javascript
|
||||||
var largestSumAfterKNegations = function(nums, k) {
|
var largestSumAfterKNegations = function(nums, k) {
|
||||||
nums.sort((a, b) => {
|
nums.sort((a, b) => {
|
||||||
|
Reference in New Issue
Block a user