class Solution { public: int subarraySum(vector<int>& nums, int k) { int ans = 0; // 核心思想: 从第一个数开始遍历, 以此为开始的点,然后以此向后累加, // 若等于k,那么记录.停止起点,把起点换成原来起点的下一个,继续进行. for (int i = 0; i < nums.size(); i++) { // start : 起点 sum : 局部和 int start = i; int sum = 0; // 首先要防止起点越界, 因为在while循环里对起点进行了自加1 操作 while (start < nums.size()) { sum += nums[start++]; if (sum == k) { ans++; } } } return ans; } };
leetcode560. 和为K的子数组
猜你喜欢
转载自blog.csdn.net/weixin_36149892/article/details/80280212
今日推荐
周排行