华为OD机试E卷 - 最长连续子序列 Java

题目描述

有N个正整数组成的一个序列。给定整数sum,求长度最长的连续[子序列],使他们的和等于sum,返回此子序列的长度,

如果没有满足要求的序列,返回-1。

输入描述

第一行输入是:N个正整数组成的一个序列

第二行输入是:给定整数sum

输出描述

最长的连续子序列的长度

备注

  • 输入序列仅由数字和英文逗号构成,数字之间采用英文逗号分隔
  • 序列长度:1 <= N <= 200
  • 输入序列不考虑异常情况

示例1

输入

1,2,3,4,2
6

输出

3

说明

1,2,3和4,2两个序列均能满足要求,所以最长的连续序列为1,2,3,因此结果为3。

示例2

输入

1,2,3,4,2
20

输出

-1

说明

没有满足要求的子序列,返回-1

Java

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int[] nums

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

机试E卷D卷刷题日记 文章被收录于专栏

机试刷题记录

全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务