课程考核 三道模拟题

目录


1.违禁词处理

2.分数线划分

3.火车票分配问题


1.违禁词处理

你正在为一款聊天系统开发一项功能。为了营造文明的网络环境,需要在帖子中检测并屏蔽某些违禁词汇。系统由管理员提供若干违禁词汇列表,对于帖子中的违禁词汇,需要按照以下规则进行替换:

  1. 屏蔽规则:

    • 检测帖子中是否包含违禁词汇。
    • 如果包含违禁词汇,则将违禁词的首字符保留,其余字符用 * 替代。
    • 替换过程中,大小写不敏感,但替换后的输出需保留原始字符的大小写格式。

    例如:

    • 如果违禁词是 Love,帖子中的 Love 替换为 L***love 替换为 l***
    • 如果违禁词是 ACM,帖子中的 ACM 替换为 A**acm 替换为 a**
  2. 输入要求:

    • 输入的第一行是一个正整数 n (n<1000),表示违禁词汇的数量。
    • 接下来的 n 行,每行包含一个违禁词汇,由英文字母组成(不含空格,长度不超过 20)。
    • 随后的若干行是帖子内容,内容可能包含违禁词汇,需要处理。直到文件结束为止。
    • 帖子中的字符总数不超过 10,000。
  3. 输出要求:

    • 输出处理后的帖子内容,保持原始格式,违禁词替换后符合屏蔽规则。

输入格式

  1. 第一行:一个正整数 n,表示违禁词数量。
  2. 接下来 n 行:每行一个违禁词。
  3. 若干行:需要处理的帖子内容,直到文件结束。

输出格式

  • 输出经过违禁词处理后的帖子内容。除违禁词外,其余文字和格式与原始帖子完全相同。

import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取违禁词数量int n = Integer.parseInt(scanner.nextLine());// 存储违禁词列表List<String> forbiddenWords = new ArrayList<>();for (int i = 0; i < n; i++) {forbiddenWords.add(scanner.nextLine());}// 将违禁词转换为小写以方便查找Set<String> forbiddenSet = new HashSet<>();for (String word : forbiddenWords) {forbiddenSet.add(word.toLowerCase());}// 处理输入文本到文件结束StringBuilder result = new StringBuilder();while (scanner.hasNextLine()) {String line = scanner.nextLine();String[] words = line.split(" "); // 按空格分割单词for (int i = 0; i < words.length; i++) {String word = words[i];String lowerWord = word.toLowerCase(); // 转换为小写检查if (forbiddenSet.contains(lowerWord)) {// 替换违禁词,首字符保留,其余字符用 *result.append(word.charAt(0));for (int j = 1; j < word.length(); j++) {result.append('*');}} else {// 非违禁词原样输出result.append(word);}if (i < words.length - 1) {result.append(" "); // 单词之间加空格}}result.append("\n"); // 每行结束换行}// 输出处理后的文本System.out.print(result.toString());}
}

2.分数线划分

世博会志愿者的选拔正在进行,A市对报名选手进行了笔试。根据计划录取人数 mmm,需要划定面试分数线。具体规则如下:

  1. 面试分数线划定规则:

    • 面试分数线为排名第 m×150% 名选手的笔试分数(向下取整)。
  2. 进入面试规则:

    • 笔试分数不低于面试分数线的所有选手都能进入面试。
  3. 输出规则:

    • 第一行输出面试分数线和实际进入面试的选手人数。
    • 从第二行开始,按以下规则输出进入面试的选手信息:
      • 按笔试成绩从高到低排序。
      • 如果笔试成绩相同,按报名号从小到大排序。
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 输入报名人数 n 和计划录取人数 mint n = scanner.nextInt();int m = scanner.nextInt();// 保存选手信息List<int[]> participants = new ArrayList<>();for (int i = 0; i < n; i++) {int id = scanner.nextInt();int score = scanner.nextInt();participants.add(new int[]{id, score});}// 按笔试成绩从高到低排序,若成绩相同按报名号从小到大排序Collections.sort(participants, new Comparator<int[]>() {@Overridepublic int compare(int[] a, int[] b) {if (b[1] != a[1]) {return b[1] - a[1]; // 按成绩从高到低} else {return a[0] - b[0]; // 按报名号从小到大}}});// 计算面试分数线int cutoffIndex = (int) Math.floor(m * 1.5) - 1; // m * 150% 向下取整int interviewScore = participants.get(cutoffIndex)[1];// 筛选进入面试的选手List<int[]> selected = new ArrayList<>();for (int[] p : participants) {if (p[1] >= interviewScore) {selected.add(p);}}// 输出面试分数线和实际进入面试的人数System.out.println(interviewScore + " " + selected.size());// 输出进入面试选手的报名号和笔试成绩for (int[] p : selected) {System.out.println(p[0] + " " + p[1]);}}
}

3.火车票分配问题

小华负责火车车厢的座位分配,规则如下:

  1. 车厢配置:

    • 每节车厢有 20 排,每排有 5 个座位,座位编号从 1 到 100。
  2. 购票规则:

    • 每人可以购买 p 张票,1≤p≤5
    • 如果能在同一排找到编号最小的连续 p 个座位,则分配这些座位。
    • 否则,分配编号最小的 p 个空座位(不要求连续)。
  3. 输出规则:

    • 对每条购票指令,按从小到大的顺序输出分配的座位编号。 
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 输入购票指令数量int n = scanner.nextInt();int[] requests = new int[n];for (int i = 0; i < n; i++) {requests[i] = scanner.nextInt();}// 座位状态数组,false 表示空座,true 表示已占用boolean[] seats = new boolean[100];// 处理每条购票指令for (int request : requests) {List<Integer> assigned = new ArrayList<>();boolean assignedFlag = false;// 尝试分配连续座位for (int i = 0; i < 100; i += 5) {int count = 0;for (int j = i; j < i + 5; j++) {if (!seats[j]) {count++;} else {count = 0;}if (count == request) {// 找到连续座位,分配for (int k = j - request + 1; k <= j; k++) {seats[k] = true;assigned.add(k + 1);}assignedFlag = true;break;}}if (assignedFlag) break;}// 如果无法分配连续座位,分配分散座位if (!assignedFlag) {for (int i = 0; i < 100 && assigned.size() < request; i++) {if (!seats[i]) {seats[i] = true;assigned.add(i + 1);}}}// 输出分配的座位编号for (int i = 0; i < assigned.size(); i++) {if (i > 0) System.out.print(" ");System.out.print(assigned.get(i));}System.out.println();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/476919.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day 18

修建二叉搜索树 link&#xff1a;669. 修剪二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 思路分析 注意修剪的时候要考虑到全部的节点&#xff0c;即搜到到限定区间小于左值或者大于右值时还需要检查当前不符合区间大小节点的右子树/左子树&#xff0c;不能直接返回n…

核间通信-Linux下RPMsg使用与源码框架分析

目录 1 文档目的 2 相关概念 2.1 术语 2.2 RPMsg相关概念 3 RPMsg核间通信软硬件模块框架 3.1 硬件原理 3.2 软件框架 4 使用RPMsg进行核间通信 4.1 RPMsg通信建立 4.1.1 使用名称服务建立通信 4.1.2 不用名称服务 4.2 RPMsg应用过程 4.3 应用层示例 5 RPMsg内核…

常用Adb 命令

# 连接设备 adb connect 192.168.10.125# 断开连接 adb disconnect 192.168.10.125# 查看已连接的设备 adb devices# 安装webview adb install -r "D:\webview\com.google.android.webview_103.0.5060.129-506012903_minAPI23(arm64-v8a,armeabi-v7a)(nodpi)_apkmirror.co…

高质量代理池go_Proxy_Pool

高质量代理池go_Proxy_Pool 声明&#xff01; 学习视频来自B站up主 ​泷羽sec​​ 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以…

有关博客博客系统的测试报告 --- 初次进行项目测试篇

文章目录 前言一、博客系统的项目背景二、博客系统的项目简介1.后端功能1.1 用户管理1.2 博客管理1.3 权限管理 2.前端功能2.1 用户界面 测试计划测试工具、环境设计的测试动作功能测试访问博客登录页面博客首页测试博客详情页博客编辑页 自动化测试自动化测试用例自动化测试脚…

物业管理系统的设计和实现

一、项目背景 物业管理系统在现代城市化进程中起着至关重要的作用。 随着居民生活水平的提高和信息技术的迅猛发展&#xff0c;传统的物业管理模式已不能满足业主和管理者的需求。 为了提高管理效率、降低运营成本、提升服务质量&#xff0c;设计并实现一个集成化、智能化的物业…

JDBC编程---Java

目录 一、数据库编程的前置 二、Java的数据库编程----JDBC 1.概念 2.JDBC编程的优点 三.导入MySQL驱动包 四、JDBC编程的实战 1.创造数据源&#xff0c;并设置数据库所在的位置&#xff0c;三条固定写法 2.建立和数据库服务器之间的连接&#xff0c;连接好了后&#xff…

快速图像识别:落叶植物叶片分类

1.背景意义 研究背景与意义 随着全球生态环境的变化&#xff0c;植物的多样性及其在生态系统中的重要性日益受到关注。植物叶片的分类不仅是植物学研究的基础&#xff0c;也是生态监测、农业管理和生物多样性保护的重要环节。传统的植物分类方法依赖于人工观察和专家知识&…

数字化那点事:一文读懂物联网

一、物联网是什么&#xff1f; 物联网&#xff08;Internet of Things&#xff0c;简称IoT&#xff09;是指通过网络将各种物理设备连接起来&#xff0c;使它们可以互相通信并进行数据交换的技术系统。通过在物理对象中嵌入传感器、处理器、通信模块等硬件&#xff0c;IoT将“…

IntelliJ+SpringBoot项目实战(十)--常量类、自定义错误页、全局异常处理

一、常量类 在项目开发中&#xff0c;经常需要约定一些常量&#xff0c;比如接口返回响应请求指定状态码、异常类型、默认页数等&#xff0c;为了增加代码的可阅读性以及开发团队中规范一些常量的使用&#xff0c;可开发一些常量类。下面有3个常量类示例&#xff0c;代码位于op…

ubuntu20.04的arduino+MU编辑器安装教程

arduino 按照这个博客&#xff0c;是2.3版本的&#xff1a; Ubuntu20.04/22.04 安装 Arduino IDE 2.x_ubuntu ide-CSDN博客https://blog.csdn.net/michaelchain/article/details/128744935以下这个博客是1.8版本的 在ubuntu系统安装Arduino IDE的方法_ubuntu arduino ide-CS…

Docker核心概念总结

本文只是对 Docker 的概念做了较为详细的介绍&#xff0c;并不涉及一些像 Docker 环境的安装以及 Docker 的一些常见操作和命令。 容器介绍 Docker 是世界领先的软件容器平台&#xff0c;所以想要搞懂 Docker 的概念我们必须先从容器开始说起。 什么是容器? 先来看看容器较为…

Redis ⽀持哪⼏种数据类型?适⽤场景,底层结构

目录 Redis 数据类型 一、String&#xff08;字符串&#xff09; 二、Hash&#xff08;哈希&#xff09; 三、List&#xff08;列表&#xff09; 四、Set&#xff08;集合&#xff09; 五、ZSet(sorted set&#xff1a;有序集合) 六、BitMap 七、HyperLogLog 八、GEO …

uniapp接入BMapGL百度地图

下面代码兼容安卓APP和H5 百度地图官网&#xff1a;控制台 | 百度地图开放平台 应用类别选择《浏览器端》 /utils/map.js 需要设置你自己的key export function myBMapGL1() {return new Promise(function(resolve, reject) {if (typeof window.initMyBMapGL1 function) {r…

Docker+Nginx | Docker(Nginx) + Docker(fastapi)反向代理

在DockerHub搜 nginx&#xff0c;第一个就是官方镜像库&#xff0c;这里使用1.27.2版本演示 1.下载镜像 docker pull nginx:1.27.2 2.测试运行 docker run --name nginx -p 9090:80 -d nginx:1.27.2 这里绑定了宿主机的9090端口&#xff0c;只要访问宿主机的9090端口&#…

AmazonS3集成minio实现https访问

最近系统全面升级到https&#xff0c;之前AmazonS3大文件分片上传直接使用http://ip:9000访问minio的方式已然行不通&#xff0c;https服务器访问http资源会报Mixed Content混合内容错误。 一般有两种解决方案&#xff0c;一是升级minio服务&#xff0c;配置ssl证书&#xff0c…

人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状

一、简述 微表情是一种特殊的面部表情,与普通的表情相比,微表情主要有以下特点: 持续时间短,通常只有1/25s~1/3s;动作强度低,难以察觉;在无意识状态下产生,通常难以掩饰或伪装;对微表情的分析通常需要在视频中,而普通表情在图像中就可以分析。由于微表情在无意识状态…

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是&#xff1f;&#xff08; &#xff09; import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案&#xff1a;A 答案…

Spring Aop+自定义注解实践(待完善日志)

目录 前言 1.引入依赖 2.SpringAop的用法举例 3. 自定义注解AOP的用法举例 3.1 关于Target注解补充 3.2 关于Retention注解补充 3.3 举例 前言 如果你不太理解aop的知识&#xff0c;请看我写的这篇文章&#xff0c;非常详细&#xff1a; Spring AOP&#xff08;定义、…

OpenCV双目立体视觉重建

本篇文章主要给出使用opencv sgbm重建三维点云的代码&#xff0c;鉴于自身水平所限&#xff0c;如有错误&#xff0c;欢迎批评指正。 环境&#xff1a;vs2015 &#xff0c;opencv3.4.6&#xff0c;pcl1.8.0 原始数据使用D455采集&#xff0c;图像已做完立体校正&#xff0c;如下…