美文网首页
Target Sum:目标和的个数

Target Sum:目标和的个数

作者: Katakuly | 来源:发表于2018-10-05 11:52 被阅读0次

题目描述:
给定一个非负整数的序列,a1,a2,…,an,和目标值s。现在你有2个符号+和-。对于每个整数,您可以选择+或者-作为它的新符号。
找出所有分配符号的方法,以使整数和等于目标值s。

输入: 整型数组nums,比如 [1, 1, 1, 1, 1], 目标值s,如3。
输出: 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, 2, 3, 4, 5] 和目标和target为3,一种可能的情况是+1-2+3-4+5 = 3
整数子集为 P = [1, 3, 5] ,负数子集为 N = [2, 4]。
原问题可以转换为:
sum(P) - sum(N) = target
sum(P) + sum(N) = 原数组和
2 * sum(P) = target + 原数组和
sum(P)=(target + 原数组和)/2

代码(采用动态规划):

class Solution {
    public int findTargetSumWays(int[] nums, int s) {
        int total=0;
        for(int i=0;i<nums.length;i++){
            total+=nums[i];
        }
        int target=(s+total)>>>1;
        return total<target || (s+total)%2>0 ? 0 : getCount(nums,target);        
    }
    
    public int getCount(int[] nums,int target){
        int[] dp=new int[target+1];
        dp[0]=1;
        for(int i=0;i<nums.length;i++){
            for(int j=target;j>=nums[i];j--){
                dp[j]+=dp[j-nums[i]];
            }
        }
        return dp[target];
    }
}

相关文章

  • Target Sum:目标和的个数

    题目描述:给定一个非负整数的序列,a1,a2,…,an,和目标值s。现在你有2个符号+和-。对于每个整数,您可以选...

  • Leecode N个数的和合集【1、15、16、18、167、4

    问题描述:【Hash Table】1. Two Sum 解题思路: 两个数的和。给一个数组和目标 target,求...

  • LeetCode

    Two Sum 描述:给定一个数组num[]和一个数字target,若数组中有两个数字相加等于target在,则输...

  • 2021-01-07 leetcode题解

    Two Sum题:给一个数组vector和一个数target,在数组中找到两个元素的和相加等于target,并返回...

  • LeetCode #1074 Number of Submatr

    1074 Number of Submatrices That Sum to Target 元素和为目标值的子矩阵...

  • [数组]18. 4Sum

    18. 4Sum题目大意给定一个数组,一个target,要求找出所有和为target的四个数的集合,不能重复。 据...

  • Leetcode TwoSum & 两数之和 解题报告

    Two Sum 给定一个数组nums和一个整数值target,返回两个数值(nums数组下标的index),使其所...

  • [数组]16.3Sum Closest

    16.3Sum Closest题目大意给定一个数组和一个target,要求找出三个数的和,且这个和最接近targe...

  • 某公司的笔试编程题

    原题: 给定一个数组candidate和一个目标值target,求出candidate中两个数的和等于target...

  • 一点刷LeetCode题的感想

    LeetCode 题集感想 Q1.Two Sum 题目:给定一个数组{2,3,5,7},以及一个目标值target...

网友评论

      本文标题:Target Sum:目标和的个数

      本文链接:https://www.haomeiwen.com/subject/hoqqaftx.html