求数组(只有正数)中元素和为K的最长子数组的长度
来源:互联网 发布:Python 二进制到十进制 编辑:程序博客网 时间:2024/05/06 00:19
题目:来自脑客爱刷题
给定一个数组arr,该数组无序且每个元素均为正数;在给定一个正数K,求arr所有子数组中所有元素相加和为K的最长子数组长度。
例如:
arr:1,2,1,1,1
K:3
结果返回3
解法要求:时间复杂度O(N),额外空间复杂度O(1)
int getSumKMaxSubArrayLen(int* num, int length, int k){if (num == nullptr || length <= 0 || k <= 0)return -1;int len = -1, sum = num[0], left = 0, right = 0;while (right < length)//left可能在right的右边一位,但不影响本题结果{if (sum == k){if (right - left + 1>len)len = right - left + 1;sum -= num[left];left++;}else if (sum < k){right++;if (right >= length)//检查是否越界break;sum += num[right];}else{sum -= num[left];left++;}}return len;}
0 0
- 求数组(只有正数)中元素和为K的最长子数组的长度
- 未排序正数数组中累加和为给定值的最长子数组长度
- 未排序正数数组中累加和为给定值的最长子数组长度
- 给定一个数组,值全是正数,请返回累加和为给定值k的最长子数组长度。
- 题目二:给定一个数组,值全是正数,请返回累加和为给定值k的最长子数组长度。
- 数组与矩阵---未排序正数数组中累加和为指定值的最长子数组长度
- 数组中累加和为k的最长子数组长度(算法)
- 在未排序数组中找到和为k的最长子数组长度
- 数组中累加和为定值K的最长子数组长度
- 最长的可整合子数组的长度+累计和为k的最长子数组
- 求:未排序数组中累加和为给定值的最长子数组长度
- 求子数组中长度最长的子数组
- 和为s的连续正整数数列 and 未排序正数数组中和为s的最长子数组长度
- 求数组(元素可为正数、负数、0)的最大子序列和
- 求数组(元素可为正数、负数、0)的最大子序列和,
- 求数组(元素可为正数、负数、0)的最大子序列和。
- 求数组(元素可为正数、负数、0)的最大子序列和。
- 求数组(元素可为正数、负数、0)的最大子序列和
- Android adb.exe程序启动不起来,如何处理
- 常用编辑器注册码
- 【java基础】第四天总结
- 手动剿灭Word宏病毒
- 《编程匠艺》心得
- 求数组(只有正数)中元素和为K的最长子数组的长度
- Java断点续传服务器代码
- Bash Shell 里的各种括号
- 初学者如何查阅自然语言处理(NLP)领域学术资料
- 一个简单的类设计题目
- 开发者福利!ChromeSnifferPlus 插件正式登陆 Chrome Web Store
- 开启Mac OSX原生NTFS读写支持
- Android学习之 内存管理机制与应用内存优化
- 开启新旅程