算法训练:Continuous Subarray Sum
来源:互联网 发布:长沙蓝狐网络 编辑:程序博客网 时间:2024/05/29 11:42
题目链接:https://leetcode.com/problems/continuous-subarray-sum/#/description
题目描述:
给定一个包含非负整数的数组和一个整数K,问是否该数组中存在一个长度至少为2的子数组其和为K的整数倍。
解题思路:
(1) 如果k=0,遍历数组,如果遇到有两个相邻的0,即可返回true,否则false。
(2) 如果k!=0,遍历数组,用一个数组记录从i节点到j节点的和,如果满足条件,说明存在,返回true,
否则从i+1开始再次遍历,知道找到或者遍历结束。
bool checkSubarraySum(vector<int>& nums, int k) { if (nums.size() < 2) return false; if (k == 0) { //如果能找到连续两个0,即可返回true for (int i = 0; i < nums.size() - 1; i++) { if (nums[i] == 0 && nums[i + 1] == 0) return true; } return false; } for (int i = 0; i < nums.size(); ++i) {//从下标0开始遍历数组 int sum = nums[i];//记录当前节点的和 for (int j = i + 1; j < nums.size(); ++j) { sum += nums[j]; if (sum%k==0) return true; } } return false; }
运行结果:
Your Input
[2,2,9,6,7] 9
Your answer
false
Expected answer
false
阅读全文
0 0
- 算法训练:Continuous Subarray Sum
- 算法15 Continuous Subarray Sum
- lintcode:Continuous Subarray Sum
- Continuous Subarray Sum II
- [LintCode] Continuous Subarray Sum
- [Lintcode] Continuous Subarray Sum
- Continuous Subarray Sum
- 【LeetCode523】. Continuous Subarray Sum
- [LeetCode]Continuous Subarray Sum
- 题解:Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- leetcode523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- EOJ----足球锦标赛
- 1002.写出这个数
- Java.lang学习笔记
- 枚举排列
- java--异常总结
- 算法训练:Continuous Subarray Sum
- 利用apache commons-email发送邮件
- 常用技术框架或开源库
- c++查看内存是否泄漏
- LoadRunner案例:模拟不同情况下用户性能测试分析
- (68)Sound Cue参考指南
- javax.servlet cannot be resolved to a type
- 自定义 view<简单画图 圆形>
- 安卓视频播放器AndroidVideoplayer