494. Target Sum

来源:互联网 发布:windows错误1503 编辑:程序博客网 时间:2024/05/20 07:33

DP思想,从前往后考虑所有情况。

class Solution {public:    int findTargetSumWay----------s(vector<int>& nums, int S) {        if(nums.size()==0)            return 0;        else        {            map<int,int> counts;            map<int,int> newCounts;            counts[nums[0]]+=1;            counts[-nums[0]]+=1;            for(int i=1;i<nums.size();i++)            {                for(map<int,int>::iterator it=counts.begin();it!=counts.end();it++)                {                    newCounts[it->first+nums[i]]+=it->second;                    newCounts[it->first-nums[i]]+=it->second;                }                counts.swap(newCounts);                newCounts.clear();            }            return counts[S];        }    }};
0 0
原创粉丝点击