mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
@ -76,7 +76,7 @@ public:
|
|||||||
```
|
```
|
||||||
|
|
||||||
时间复杂度:O(n)
|
时间复杂度:O(n)
|
||||||
时间复杂度:O(1)
|
空间复杂度:O(1)
|
||||||
|
|
||||||
效率如下:
|
效率如下:
|
||||||
|
|
||||||
@ -238,16 +238,16 @@ Python:
|
|||||||
```python3
|
```python3
|
||||||
class Solution:
|
class Solution:
|
||||||
def searchInsert(self, nums: List[int], target: int) -> int:
|
def searchInsert(self, nums: List[int], target: int) -> int:
|
||||||
left, right = 0, len(nums) - 1
|
left, right = 0, len(nums) - 1
|
||||||
|
|
||||||
while left <= right:
|
while left <= right:
|
||||||
middle = (left + right) // 2
|
middle = (left + right) // 2
|
||||||
|
|
||||||
if nums[middle] < target:
|
if nums[middle] < target:
|
||||||
left = middle + 1
|
left = middle + 1
|
||||||
elif nums[middle] > target:
|
elif nums[middle] > target:
|
||||||
right = middle - 1
|
right = middle - 1
|
||||||
else:
|
else:
|
||||||
return middle
|
return middle
|
||||||
return right + 1
|
return right + 1
|
||||||
```
|
```
|
||||||
|
@ -88,7 +88,8 @@
|
|||||||
|
|
||||||
|
|
||||||
以上分析完毕,C++代码如下:
|
以上分析完毕,C++代码如下:
|
||||||
```
|
|
||||||
|
```cpp
|
||||||
class Solution {
|
class Solution {
|
||||||
public:
|
public:
|
||||||
int climbStairs(int n) {
|
int climbStairs(int n) {
|
||||||
|
@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
示例:
|
示例:
|
||||||
|
|
||||||
输入:nums: [1, 1, 1, 1, 1], S: 3
|
输入:nums: [1, 1, 1, 1, 1], S: 3
|
||||||
输出:5
|
输出:5
|
||||||
|
|
||||||
解释:
|
解释:
|
||||||
-1+1+1+1+1 = 3
|
-1+1+1+1+1 = 3
|
||||||
+1-1+1+1+1 = 3
|
+1-1+1+1+1 = 3
|
||||||
+1+1-1+1+1 = 3
|
+1+1-1+1+1 = 3
|
||||||
+1+1+1-1+1 = 3
|
+1+1+1-1+1 = 3
|
||||||
+1+1+1+1-1 = 3
|
+1+1+1+1-1 = 3
|
||||||
|
|
||||||
一共有5种方法让最终目标和为3。
|
一共有5种方法让最终目标和为3。
|
||||||
|
|
||||||
@ -202,6 +202,7 @@ public:
|
|||||||
for (int i = 0; i < nums.size(); i++) sum += nums[i];
|
for (int i = 0; i < nums.size(); i++) sum += nums[i];
|
||||||
if (S > sum) return 0; // 此时没有方案
|
if (S > sum) return 0; // 此时没有方案
|
||||||
if ((S + sum) % 2 == 1) return 0; // 此时没有方案
|
if ((S + sum) % 2 == 1) return 0; // 此时没有方案
|
||||||
|
if (S + sum < 0) return 0; // 以确保bagSize为正数
|
||||||
int bagSize = (S + sum) / 2;
|
int bagSize = (S + sum) / 2;
|
||||||
vector<int> dp(bagSize + 1, 0);
|
vector<int> dp(bagSize + 1, 0);
|
||||||
dp[0] = 1;
|
dp[0] = 1;
|
||||||
@ -311,7 +312,7 @@ Javascript:
|
|||||||
const findTargetSumWays = (nums, target) => {
|
const findTargetSumWays = (nums, target) => {
|
||||||
|
|
||||||
const sum = nums.reduce((a, b) => a+b);
|
const sum = nums.reduce((a, b) => a+b);
|
||||||
|
|
||||||
if(target > sum) {
|
if(target > sum) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user