mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Update 0494.目标和.md
0494.目标和新增C语言实现
This commit is contained in:
@ -585,7 +585,42 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
```c
|
||||||
|
int getSum(int * nums, int numsSize){
|
||||||
|
int sum = 0;
|
||||||
|
for(int i = 0; i < numsSize; i++){
|
||||||
|
sum += nums[i];
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
int findTargetSumWays(int* nums, int numsSize, int target) {
|
||||||
|
int sum = getSum(nums, numsSize);
|
||||||
|
int diff = sum - target;
|
||||||
|
// 两种情况不满足
|
||||||
|
if(diff < 0 || diff % 2 != 0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int bagSize = diff / 2;
|
||||||
|
int dp[numsSize + 1][bagSize + 1];
|
||||||
|
dp[0][0] = 1;
|
||||||
|
for(int i = 1; i <= numsSize; i++){
|
||||||
|
int num = nums[i - 1];
|
||||||
|
for(int j = 0; j <= bagSize; j++){
|
||||||
|
dp[i][j] = dp[i - 1][j];
|
||||||
|
if(j >= num){
|
||||||
|
dp[i][j] += dp[i - 1][j - num];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[numsSize][bagSize];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### C#
|
### C#
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
public class Solution
|
public class Solution
|
||||||
{
|
{
|
||||||
@ -617,4 +652,3 @@ public class Solution
|
|||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user