<p>Given an array of <strong>distinct</strong> integers <code>nums</code> and a target integer <code>target</code>, return <em>the number of possible combinations that add up to</em> <code>target</code>.</p> <p>The test cases are generated so that the answer can fit in a <strong>32-bit</strong> integer.</p> <p> </p> <p><strong class="example">Example 1:</strong></p> <pre> <strong>Input:</strong> nums = [1,2,3], target = 4 <strong>Output:</strong> 7 <strong>Explanation:</strong> The possible combination ways are: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1) Note that different sequences are counted as different combinations. </pre> <p><strong class="example">Example 2:</strong></p> <pre> <strong>Input:</strong> nums = [9], target = 3 <strong>Output:</strong> 0 </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= nums.length <= 200</code></li> <li><code>1 <= nums[i] <= 1000</code></li> <li>All the elements of <code>nums</code> are <strong>unique</strong>.</li> <li><code>1 <= target <= 1000</code></li> </ul> <p> </p> <p><strong>Follow up:</strong> What if negative numbers are allowed in the given array? How does it change the problem? What limitation we need to add to the question to allow negative numbers?</p>