文档内容
2021 秋招华为软件开发笔试
题目:
学校有一个在线学习系统,没门课程由N个页面组成(0< N<=
10000)个页面组成,学生从第一页开始按顺序学到最后一页提交学
习记录。
系统会记录每页停留的时间(单位秒),当学生提交时会分析时间是
否满足要求,分析规则如下:
每分钟(60秒)之内学完的页面不能大于4页。
例如系统记录到某学生页面停留时间如下:
10 120 10 20 10 10 50
该学生第一分钟学完1页,第二分钟学完0页,第三分钟学完5页,
第四分钟学完1页,则判定为不满足要求。
输入描述:
输入数据包含多个学生的提交记录,第一行是整数表示记录个数,每
个记录占一行,每行的第一个数是N,表示页面数,然后是每个页面
的学习时间。
输出描述:
对于每组输入数据,满足输出1,不满足输出0,每组输出占一行。
输入
5
2 10 10
4 10 15 20 30
5 10 10 10 10 10
6 10 20 20 70 10 10
8 10 120 10 10 10 10 10 10
1
2
3 4
5
6
7
输出:
1
1
0
1
0
1
2
3
4
5
6
思路
统计每一分钟,翻过的页数,超过60秒时,将时间与60取模,且页
数归0,小于60就累加页数,大于4就返回0,否则返回1
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
ArrayList ans = new ArrayList<>();//定义一个数组,存放所有
行的结果值
int input=in.nextInt();//第一行数字为结果值的行数
for(int i=0;i numbers = new ArrayList<>();//存放该行的所
有页面的学习时间
n=in.nextInt();//表示该行的所学页数
for(int j=0;j 60) {//当学习时间和大于60
sum %= 60;//求余
pages = 0;//所学页数归零
}
++pages;//页数加一
if (pages > 4) {//大于4页返回0
return 0;
}
}
return 1;
}
}