标签:turn mamicode 元素 code 重置 star 不同 end tor
题目:
解答:
可以在考虑不同的 endend 的同时直接找到总和,而不是考虑所有 startstart 和 endend 然后找到对应的每个子数组的总和。
我们可以选择一个特定的 start,同时迭代 end,我们可以将对应于 end 的元素添加到到目前为止形成的总和中。当 sum 等于所需的 k 值时,我们可以更新 count 值。同时迭代每个start 索引可能的所有 end 索引。每次更新 start时需要将 sum值重置为 0。
1 class Solution { 2 public: 3 int subarraySum(vector<int>& nums, int k) 4 { 5 int count = 0; 6 for (int start = 0; start < nums.size(); ++start) 7 { 8 int sum = 0; 9 for (int end = start; end < nums.size(); ++end) 10 { 11 sum += nums[end]; 12 if (sum == k) 13 { 14 count++; 15 } 16 } 17 } 18 return count; 19 } 20 };
标签:turn mamicode 元素 code 重置 star 不同 end tor
原文地址:https://www.cnblogs.com/ocpc/p/12831441.html