Java | Leetcode Java题解之第494题目标和

题目:

题解:

java 复制代码
class Solution {
    public int findTargetSumWays(int[] nums, int target) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        int diff = sum - target;
        if (diff < 0 || diff % 2 != 0) {
            return 0;
        }
        int neg = diff / 2;
        int[] dp = new int[neg + 1];
        dp[0] = 1;
        for (int num : nums) {
            for (int j = neg; j >= num; j--) {
                dp[j] += dp[j - num];
            }
        }
        return dp[neg];
    }
}
相关推荐
我真会写代码36 分钟前
深度解析并发编程锁升级:从偏向锁到重量级锁,底层原理+面试考点全拆解
java·并发编程·
Meepo_haha41 分钟前
创建Spring Initializr项目
java·后端·spring
会编程的土豆42 分钟前
C++中的 lower_bound 和 upper_bound:一篇讲清楚
java·数据结构·算法
Memory_荒年43 分钟前
SpringBoot事务源码深度游:从注解到数据库的“奇幻漂流”
java·后端·spring
阿里嘎多哈基米43 分钟前
速通Hot100-Day09——二叉树
算法·leetcode·二叉树·hot100
编码忘我1 小时前
为什么要用SpringBoot
java·后端
Frostnova丶1 小时前
LeetCode 48 & 1886.矩阵旋转与判断
算法·leetcode·矩阵
多打代码1 小时前
2026.3.22 回文子串
算法·leetcode·职场和发展
神舟之光1 小时前
Java面向对象编程知识补充学习-2026.3.21
java·开发语言·学习
Memory_荒年1 小时前
SpringBoot事务:从“一键开关”到“踩坑大全”的生存指南
java·后端·spring