java 给定未排序的非负整数数组,找到一个连续的子数组,它会增加给定的数字。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 给定未排序的非负整数数组,找到一个连续的子数组,它会增加给定的数字。相关的知识,希望对你有一定的参考价值。

import java.util.Scanner;

class Library {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int i = 0 ; i < T ; i ++)
        {
            int N = sc.nextInt();
            int S = sc.nextInt();
            int [] numbers = new int[N];
            for(int j = 0 ; j < N ; j ++)
            {
                numbers[j] = sc.nextInt();
            }
            int start = 0 ;
            int end =0;
            int sum =numbers[0] ;
            boolean found = false;
            for(int j = 1 ; j < N ; )
            {
                if(sum < S)
                {
                    sum +=numbers[j];
                    end=j;
                    if(sum==S)
                    {
                        System.out.println( (start+1)+ " " + (end+1));
                        found = true;
                        break;
                    }
                    j++;
                }
                else if(sum > S)
                {
                    sum-= numbers[start];
                    start++;
                }
                else
                {
                    System.out.println( (start+1)+ " " + (end+1));
                    found = true;
                    break;
                    
                }
            }
            if(!found)
                System.out.println(-1);
            
        }
    }
}

以上是关于java 给定未排序的非负整数数组,找到一个连续的子数组,它会增加给定的数字。的主要内容,如果未能解决你的问题,请参考以下文章

2022-02-21:不含连续1的非负整数。 给定一个正整数 n ,返回范围在 [0, n] 都非负整数中,其二进制表示不包含 连续的 1 的个数。 输入: n = 5 输出: 5 解释: 下面是带

Leetcode 600.不包含连续1的非负整数

Leetcode 600 不含连续1的非负整数

python面试题- 二分法查找给定一个已排序的非重复整数数组和一个目标值,如果找到目标,则返回索引。

中位数: 给定一个未排序的整数数组,找到其中位数。

2021-09-30:加一。给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数