首页 > 试题广场 >

未排序正数数组中累加和为给定值的最长子数组的长度

[编程题]未排序正数数组中累加和为给定值的最长子数组的长度
  • 热度指数:7118 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个数组arr,该数组无序,但每个值均为正数,再给定一个正数k。求arr的所有子数组中所有元素相加和为k的最长子数组的长度
例如,arr = [1, 2, 1, 1, 1], k = 3
累加和为3的最长子数组为[1, 1, 1],所以结果返回3
[要求]
时间复杂度为,空间复杂度为


输入描述:
第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出
第二行N个整数表示数组内的数


输出描述:
输出一个整数表示答案
示例1

输入

5 3
1 2 1 1 1

输出

3

备注:


头像 罗毅lala
发表于 2020-03-12 17:40:29
#include<iostream> #include<vector> #include<algorithm> using namespace std; //维护一个动态窗口; void Print(vector<int>& nums,int 展开全文
头像 哈哈~柳暗花明
发表于 2020-07-28 14:02:46
def solve(l, n, k): ans = s = i = j = 0 while i < n: if s < k: if j < n: s += l[j] 展开全文
头像 快支棱起来的椰子很愤怒
发表于 2022-01-07 17:07:13
n, k = map(int, input().split()) arr = list(map(int, input().split())) i, j = 0, 0 res = 0 su = 0 while i <= j < n: if su < k: su 展开全文
头像 牛客695415901号
发表于 2024-04-09 23:45:42
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = 展开全文
头像 青春的律动
发表于 2022-04-24 10:15:57
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt 展开全文
头像 军医与非门
发表于 2021-04-10 14:54:29
class Main07Test { public int help(int[] arr, int n, int target) { int left = 0, right = 0; int windowSum = arr[0]; int ma 展开全文
头像 红烧肉123
发表于 2021-09-17 21:33:38
while True: try: n,k = map(int,input().split()) ll = list(map(int,input().split())) res,tmp = 0,0 left,right = 0,0 展开全文