夜雨聆风学习资料网 资料列表 开通 VIP 用登录 / 注册 ⌄
DOCX

2021秋招华为软件开发笔试_2025春招题库汇总_十大行测题库_2023年十大热门题库更新中_03、赛码汇总_2024华为综合全套7月更新_华为测试工程师笔试题-等多个文件

查看资料信息、公开预览和下载状态。

共 3 页DOCX · 22.3KB
下载

文档在线预览

公开展示前 2 页
100%
1
《2021秋招华为软件开发笔试_2025春招题库汇总_十大行测题库_2023年十大热门题库更新中_03、赛码汇总_2024华为综合全套7月更新_华为测试工程师笔试题-等多个文件》第1页预览
2
《2021秋招华为软件开发笔试_2025春招题库汇总_十大行测题库_2023年十大热门题库更新中_03、赛码汇总_2024华为综合全套7月更新_华为测试工程师笔试题-等多个文件》第2页预览

本文档共 3 页 剩余 1 页未展示,请下载后查阅

下载

文档文本内容

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<Integer> ans = new ArrayList<>();//定义一个数组,存放所有
行的结果值
int input=in.nextInt();//第一行数字为结果值的行数
for(int i=0;i<input;i++){
int n;
ArrayList<Integer> numbers = new ArrayList<>();//存放该行的所
有页面的学习时间
n=in.nextInt();//表示该行的所学页数
for(int j=0;j<n;j++){
numbers.add(in.nextInt());}
ans.add(process(numbers));
}
for(Object it:ans){
System.out.println((Integer)it);
}
}
public static int process(ArrayList arrayList){
int pages = 0, sum = 0;
for (Object it:arrayList) {//遍历学习时间数组
sum += (Integer) it;//时间相加
if (sum > 60) {//当学习时间和大于60
sum %= 60;//求余
pages = 0;//所学页数归零
}
++pages;//页数加一
if (pages > 4) {//大于4页返回0
return 0;
}
}
return 1;
}
}