mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-12 05:20:59 +08:00
添加 0494.目标和.md Scala版本
This commit is contained in:
@ -250,7 +250,7 @@ dp[j] += dp[j - nums[i]];
|
|||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
Java:
|
### Java
|
||||||
```java
|
```java
|
||||||
class Solution {
|
class Solution {
|
||||||
public int findTargetSumWays(int[] nums, int target) {
|
public int findTargetSumWays(int[] nums, int target) {
|
||||||
@ -271,7 +271,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
### Python
|
||||||
```python
|
```python
|
||||||
class Solution:
|
class Solution:
|
||||||
def findTargetSumWays(self, nums: List[int], target: int) -> int:
|
def findTargetSumWays(self, nums: List[int], target: int) -> int:
|
||||||
@ -287,7 +287,7 @@ class Solution:
|
|||||||
return dp[bagSize]
|
return dp[bagSize]
|
||||||
```
|
```
|
||||||
|
|
||||||
Go:
|
### Go
|
||||||
```go
|
```go
|
||||||
func findTargetSumWays(nums []int, target int) int {
|
func findTargetSumWays(nums []int, target int) int {
|
||||||
sum := 0
|
sum := 0
|
||||||
@ -322,7 +322,7 @@ func abs(x int) int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Javascript:
|
### Javascript
|
||||||
```javascript
|
```javascript
|
||||||
const findTargetSumWays = (nums, target) => {
|
const findTargetSumWays = (nums, target) => {
|
||||||
|
|
||||||
@ -351,7 +351,7 @@ const findTargetSumWays = (nums, target) => {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
TypeScript:
|
### TypeScript
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
function findTargetSumWays(nums: number[], target: number): number {
|
function findTargetSumWays(nums: number[], target: number): number {
|
||||||
@ -370,7 +370,25 @@ function findTargetSumWays(nums: number[], target: number): number {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Scala
|
||||||
|
|
||||||
|
```scala
|
||||||
|
object Solution {
|
||||||
|
def findTargetSumWays(nums: Array[Int], target: Int): Int = {
|
||||||
|
var sum = nums.sum
|
||||||
|
if (math.abs(target) > sum) return 0 // 此时没有方案
|
||||||
|
if ((sum + target) % 2 == 1) return 0 // 此时没有方案
|
||||||
|
var bagSize = (sum + target) / 2
|
||||||
|
var dp = new Array[Int](bagSize + 1)
|
||||||
|
dp(0) = 1
|
||||||
|
for (i <- 0 until nums.length; j <- bagSize to nums(i) by -1) {
|
||||||
|
dp(j) += dp(j - nums(i))
|
||||||
|
}
|
||||||
|
|
||||||
|
dp(bagSize)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>
|
||||||
|
Reference in New Issue
Block a user