class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param k int整型 * @return int整型vector<vector<>> */ vector<vector<int> > subarraySum(vector<int>& nums, int k) { // write code here //注意这个题是求连续的子数组,不是子序列问题 int len = nums.size(); set<vector<int>> s; int sum = 0; for (int i = 0; i < len; i++) { sum = 0; for (int j = i; j < len; j++) { sum += nums[j]; if (sum == k) { s.insert(vector<int>(nums.begin()+i, nums.begin() + j+1)); // sum = 0; // break; } else if (sum > k) { break; } } if (sum == k) { s.insert(vector<int>(nums.begin()+i, nums.end())); } } return vector<vector<int>>(s.begin(), s.end()); } };