523. Continuous Subarray Sum
来源:互联网 发布:h5 cms 开源 编辑:程序博客网 时间:2024/05/16 07:54
题目描述:
Given a list of non-negative numbers and a target integer k, write a function to check if the array has a continuous subarray of size at least 2 that sums up to the multiple of k, that is, sums up to n*k where n is also an integer.
题目要求给一个由非负正数组成的数组和一个数k,要求在数组中找一段长度≥2的序列使其和是k的整数倍。
首先处理k=0的情况,接着用HashMap保存sum对k取余数,如果前序有余数也为sum % k的位置,那么就存在连续子数组和为k的倍数。
代码如下:
class Solution {public: bool checkSubarraySum(vector<int>& nums, int k) { unordered_map<int, int> pos; if (nums.size()) { int sum = 0; pos[0] = -1; for (int i = 0; i < nums.size(); i++) { sum += nums[i]; if (k) sum %= k; if (pos.count(sum)) { int x = pos[sum]; if (i - x > 1) return true; } else { pos[sum] = i; } } } return false; }};
阅读全文
0 0
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- Leetcode-523. Continuous Subarray Sum
- Leetcode 523. Continuous Subarray Sum
- HDU 2132 An easy problem
- 交叉字符串
- 漫水填充算法
- jQuery基础知识总结(一)
- 对于实训项目的确定与功能讨论
- 523. Continuous Subarray Sum
- 深入浅出React(二):React开发神器Webpack
- 第十五周:[Sicily]1504. Slim Span
- 常见三种存储方式DAS、NAS、SAN的架构及比较
- 插入区间
- JDK 1.5 到1.8出现的新特性 收藏整理
- mysql-5.7.18-win64的一些基本操作
- webpack+ES6+less开发环境搭建(附带视频教程)
- Map 综述(四):彻头彻尾理解 HashTable