当求和序列被实现时,期望的输出会发生变化。
问题是:
Lily 有一块巧克力,她想与 Ron 分享他的生日。每个方格上都有一个整数。她决定分享一段连续的巧克力,使得这段巧克力的长度等于 Ron 的出生月份,并且方格上的整数之和等于他的出生日期。你必须确定她可以分割巧克力的方法数。
将巧克力条视为方格数组,s = 2,2,1,3,2。她想找到总和为 Ron 的出生日期(d = 4)且长度等于他的出生月份(m = 2)的片段。在这种情况下,有两个满足条件的片段:2,2 和 3,1。
函数描述
完成编辑器中的 birthday 函数。它应该返回一个整数,表示 Lily 可以分割巧克力的方法数。
Birthday 具有以下参数:
s:一个整数数组,表示巧克力每个方格上的数字 d:一个整数,代表 Ron 的出生日期 m:一个整数,代表 Ron 的出生月份
输入格式
第一行包含一个整数 n,表示巧克力条中的方格数。 第二行包含 n 个空格分隔的整数 s[I],表示巧克力方格上的数字。 第三行包含两个空格分隔的整数 m 和 d,Ron 的出生日期和他的出生月份。
输出格式
打印一个整数,表示 Lily 可以分割巧克力条与 Ron 分享的总方法数。
样例输入 0
我得到的输出是3而不是2。如何对前
问题是:
Lily 有一块巧克力,她想与 Ron 分享他的生日。每个方格上都有一个整数。她决定分享一段连续的巧克力,使得这段巧克力的长度等于 Ron 的出生月份,并且方格上的整数之和等于他的出生日期。你必须确定她可以分割巧克力的方法数。
将巧克力条视为方格数组,s = 2,2,1,3,2。她想找到总和为 Ron 的出生日期(d = 4)且长度等于他的出生月份(m = 2)的片段。在这种情况下,有两个满足条件的片段:2,2 和 3,1。
函数描述
完成编辑器中的 birthday 函数。它应该返回一个整数,表示 Lily 可以分割巧克力的方法数。
Birthday 具有以下参数:
s:一个整数数组,表示巧克力每个方格上的数字 d:一个整数,代表 Ron 的出生日期 m:一个整数,代表 Ron 的出生月份
输入格式
第一行包含一个整数 n,表示巧克力条中的方格数。 第二行包含 n 个空格分隔的整数 s[I],表示巧克力方格上的数字。 第三行包含两个空格分隔的整数 m 和 d,Ron 的出生日期和他的出生月份。
输出格式
打印一个整数,表示 Lily 可以分割巧克力条与 Ron 分享的总方法数。
样例输入 0
5
1 2 1 3 2
3 2
样例输出0
2
以下是我的 Java 代码
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import java.util.Scanner;
public class Solution {
public static void main(String args[])
{
int a[] = new int[1000];
Scanner s=new Scanner(System.in);
int sum=0,count=0;
int n=s.nextInt();
for(int i=0;i<n;i++)
{
a[i]=s.nextInt();
}
int m=s.nextInt();
int d=s.nextInt();
for(int i=0;i<n;i++){
for(int j=i;j<d+i;j++)
{
sum=sum+a[j];
if(sum==m)
{
count++;
}
}sum=0;
}
System.out.println(count);
}}
我得到的输出是3而不是2。如何对前
d
个数求和?
int a[] = new int[n]
。 - Andrew S