当前位置: 首页 > wzjs >正文

嘉兴网站建设方案服务北京城建亚泰建设集团有限公司网站首页

嘉兴网站建设方案服务,北京城建亚泰建设集团有限公司网站首页,wordpress 用户组,凡科互动自动答题2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

在这里插入图片描述

2025 A卷 100分 题型

本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式;
并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析;
本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分享》

华为OD机试真题《考勤信息》:


文章快捷目录

题目描述及说明

Java

python

JavaScript

C++

C

GO


题目名称:考勤信息


  • 知识点:字符串处理、滑动窗口、逻辑判断
  • 时间限制:1秒
  • 空间限制:256MB
  • 限定语言:不限

题目描述

公司用一个字符串来表示员工的出勤信息,包含以下四种标记:

  • absent:缺勤
  • late:迟到
  • leaveearly:早退
  • present:正常上班

出勤奖判定条件

  1. 缺勤不超过一次
  2. 没有连续的迟到/早退(即相邻记录不能同时为lateleaveearly);
  3. 任意连续7次考勤中,缺勤/迟到/早退的总次数不超过3次

输入描述

  • 第一行为记录条数NN >= 1);
  • 后续N行为考勤记录字符串(长度 < 10000,无非法输入)。
    示例:
2  
present  
present absent present present leaveearly present absent  

输出描述
对每组考勤记录,输出true(可获奖)或false(不可获奖),结果用空格分隔。
示例输出:

true false  

Java

问题分析

题目要求根据员工的考勤记录判断其是否符合获得出勤奖的条件。需满足以下三个条件:

  1. 缺勤不超过一次
  2. 没有连续的迟到或早退
  3. 任意连续7次考勤中,违规次数(缺勤/迟到/早退)不超过3次

解题思路

  1. 条件一:遍历所有记录,统计缺勤次数。若超过1次,直接返回false
  2. 条件二:遍历相邻记录,若相邻两个记录均属于迟到或早退,返回false
  3. 条件三:若记录数≥7,使用滑动窗口检查每个连续7次考勤的违规次数。若任何窗口超过3次,返回false

代码实现

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = Integer.parseInt(scanner.nextLine());  // 读取测试用例数StringBuilder result = new StringBuilder();for (int i = 0; i < N; i++) {int n = Integer.parseInt(scanner.nextLine());  // 读取当前用例的记录数String[] records = new String[n];for (int j = 0; j < n; j++) {records[j] = scanner.nextLine().trim();  // 读取每条记录}result.append(checkAttendance(records) ? "true " : "false ");}System.out.println(result.toString().trim());scanner.close();}private static boolean checkAttendance(String[] records) {int n = records.length;int absentCount = 0;int[] violations = new int[n];  // 标记是否为违规记录(absent/late/leaveearly)// 检查条件1和条件2,并构建violations数组for (int i = 0; i < n; i++) {String record = records[i];// 条件1:统计缺勤次数if (record.equals("absent")) {absentCount++;if (absentCount > 1) return false;}// 构建violations数组(1表示违规)violations[i] = (record.equals("absent") || record.equals("late") || record.equals("leaveearly")) ? 1 : 0;// 条件2:检查相邻记录是否均为迟到/早退if (i > 0) {String prev = records[i - 1];boolean prevViolate = prev.equals("late") || prev.equals("leaveearly");boolean currViolate = record.equals("late") || record.equals("leaveearly");if (prevViolate && currViolate) return false;}}// 条件3:滑动窗口检查连续7次考勤if (n >= 7) {int windowSum = 0;// 初始化第一个窗口(前7个记录)for (int j = 0; j < 7; j++) {windowSum += violations[j];}if (windowSum > 3) return false;// 滑动窗口,每次移动一步for (int j = 7; j < n; j++) {windowSum += violations[j] - violations[j - 7];if (windowSum > 3) return false;}}return true;}
}

代码解析

  1. 输入处理

    • scanner.nextLine()读取输入,处理多个测试用例。
    • records数组存储每个用户的考勤记录。
  2. 条件一检查

    • 统计absent次数,超过1次直接返回false
  3. 条件二检查

    • 遍历相邻记录,若当前和前一个记录均属于迟到/早退,返回false
  4. 条件三检查

    • 构建violations数组,标记违规记录。
    • 使用滑动窗口计算每个连续7次考勤的违规次数总和。
    • 若任何窗口总和超过3,返回false

示例测试

  1. 示例输入1
    输入:

    2  
    present  
    present absent present present leaveearly present absent  
    

    输出:true false
    解释

    • 第一个用例无缺勤且满足所有条件。
    • 第二个用例缺勤两次,违反条件一。
  2. 测试用例2
    输入:

    1  
    late leaveearly  
    

    输出:false
    解释:相邻记录均为迟到/早退,违反条件二。

  3. 测试用例3
    输入:

    7  
    absent late late present present present present  
    

    输出:false
    解释:连续7次考勤中违规次数为3(absent + 2次late),满足条件三。


综合分析

  1. 时间复杂度

    • O(N),其中N为记录数。每个记录仅遍历两次(条件检查+滑动窗口)。
  2. 空间复杂度

    • O(N),存储考勤记录和违规标记数组。
  3. 正确性

    • 严格按题意分步骤检查三个条件,确保逻辑正确。
  4. 优势

    • 高效性:滑动窗口将条件三的时间复杂度优化为O(N)。
    • 可读性:代码结构清晰,条件处理明确。
  5. 适用性

    • 完全支持题目约束(记录数≤1e5),满足时间和空间要求。

python

问题分析

题目要求判断员工的考勤记录是否符合出勤奖条件,需满足以下三个条件:

  1. 缺勤不超过一次absent次数 ≤ 1);
  2. 无连续迟到/早退(相邻记录不能同为 lateleaveearly);
  3. 任意连续7次考勤中违规次数(缺勤、迟到、早退)不超过3次

解题思路

  1. 条件一:统计所有记录中 absent 的次数,若超过1次直接判定失败。
  2. 条件二:遍历相邻记录,检查是否存在连续的 lateleaveearly
  3. 条件三:使用滑动窗口检查所有长度为7的连续窗口,统计违规次数是否超过3次。

代码实现

import sysdef check_attendance(records):# 条件一:缺勤次数不超过1次absent_count = records.count('absent')if absent_count > 1:return False# 条件二:检查相邻记录是否均为迟到/早退for i in range(1, len(records)

文章转载自:

http://2DcYEDHI.yrbhf.cn
http://kQFIxj6l.yrbhf.cn
http://BL7D1lIp.yrbhf.cn
http://hf1uoR4T.yrbhf.cn
http://he62xfQ8.yrbhf.cn
http://m3eTKZzu.yrbhf.cn
http://ViT4nhXB.yrbhf.cn
http://ngYGm9HH.yrbhf.cn
http://uwyIxSfE.yrbhf.cn
http://C5XZsifV.yrbhf.cn
http://zndk5cNV.yrbhf.cn
http://xEGn1nQL.yrbhf.cn
http://8EcKIwlj.yrbhf.cn
http://0No1H0IM.yrbhf.cn
http://MULzWK4A.yrbhf.cn
http://BFuzZQII.yrbhf.cn
http://tbMnJlPq.yrbhf.cn
http://CXbq1di6.yrbhf.cn
http://szFwqkwa.yrbhf.cn
http://RTyEqIOQ.yrbhf.cn
http://FD2ENMyb.yrbhf.cn
http://yQyDNdoj.yrbhf.cn
http://vPqxoJZF.yrbhf.cn
http://KxRbUQCl.yrbhf.cn
http://SLBqFR9p.yrbhf.cn
http://euPWYQUf.yrbhf.cn
http://EiWGanB2.yrbhf.cn
http://BT4jH6gB.yrbhf.cn
http://8awanLt1.yrbhf.cn
http://c8TXGM9I.yrbhf.cn
http://www.dtcms.com/wzjs/704755.html

相关文章:

  • 网站如何做推广网站建设电话销售的话术
  • 国内做网站公司排名株洲最新通知今天
  • 北京做网站便宜的公司做微网站用什么框架
  • 做消费金融网站价格九江网站建设优化公司
  • 湖北seo网站推广网站正在开发中
  • 网站建设课程设计论文地推的60种方法
  • 做网站所需的知识技能西宁那有做网站的
  • 设计企业网站步骤溧阳做网站价格
  • html5手机网站 源码网站搭建逻辑结构图
  • 金融企业类网站模板免费下载上海工信部网站备案
  • 建自己的个人网站网站模板模板
  • app开发公司 无冬汉中seo培训
  • wordpress博客头图怎么改吉林网络seo
  • 仿租号网站源码网站开发访问域名进入WordPress指定的页面
  • 做网站时如何建立栅格南昌哪家网站开发公司好
  • 嘉峪关网站seoaspnet网站开发教程
  • 网站接入服务提供单位成都的装修公司有哪些
  • 腾讯域名注册网站陈列设计师培训
  • 为什么做网站编辑咸阳做网站的公司
  • 西安网站工作室做微信网站价格
  • 贵阳做企业网站商城网站开发项目描述
  • 做网站用那种数据库网站建设对比分析
  • 怎么做电影网站吗朝阳专业做网站
  • wordpress提高浏览量整站seo技术
  • 绍兴专业做网站海南公司注册网站
  • 廊坊做网站的企业哪家好河南卫生基层系统网站建设
  • 网站如何留住客户eclipse wordpress
  • html写手机网站怎样给自己网站做反链
  • 温州网站优化关键词泰安招聘网站有哪些
  • 网站 栏目做下拉网址谁有给我一个