【笔试刷题】电信-2025.10.25-改编真题
✅ 秋招备战指南 ✅
💡 学习建议:
- 先尝试独立解题
- 对照解析查漏补缺
🧸 题面描述背景等均已深度改编,做法和题目本质基本保持一致。
🍹 感谢各位朋友们的订阅,你们的支持是我们创作的最大动力
🌸 目前本专栏已经上线180+套真题改编解析,后续会持续更新的
春秋招笔试机考招合集 -> 互联网必备刷题宝典🔗
电信-2025.10.25
题目一:字符类型识别
1️⃣:读取字符后判断 ASCII 值范围
2️⃣:利用字符比较直接判断大小写
难度:简单
这道题目是最基础的字符判断问题,只需要理解 ASCII 编码中大小写字母的范围即可。通过简单的字符比较,可以在 O(1) 时间内完成判断。
题目二:智能温度调控
1️⃣:读取模式字符串和两个整数
2️⃣:根据模式字符串的特征判断取最小值还是最大值
3️⃣:输出对应的结果
难度:简单
这道题目考查基本的条件判断和字符串处理。通过观察 min 和 max 字符串的特征,可以用一个简单的判断语句完成任务。
题目三:策略卡牌对决
1️⃣:统计对手每种卡牌的出现次数
2️⃣:根据克制关系进行贪心匹配
3️⃣:计算最大获胜回合数
难度:中等
这道题目看似是博弈问题,实际上是一个贪心匹配问题。由于已知对手的所有出牌,只需要统计数量后进行最优匹配即可。关键在于理解每种卡牌只能克制特定类型,因此贪心策略是最优的。
01. 字符类型识别
问题描述
K 小姐正在开发一个智能文档处理系统,系统需要对输入的英文字符进行分类处理。为了测试系统的基础功能,她设计了一个简单的字符识别模块:给定一个英文字母,判断它是大写字母还是小写字母。
如果输入的字母是大写字母,输出 up;如果是小写字母,输出 low。
输入格式
输入一行,包含一个英文字母字符(保证是大写字母或小写字母)。
输出格式
如果是大写字母,输出 up;如果是小写字母,输出 low。
样例输入
A
a
样例输出
up
low
| 样例 | 解释说明 |
|---|---|
| 样例1 | 字符 A 是大写字母,输出 up |
| 样例2 | 字符 a 是小写字母,输出 low |
数据范围
- 输入保证是一个英文字母字符
题解
这道题非常直接,核心就是判断一个字符是大写还是小写。
解题思路:
在 ASCII 编码中,大写字母 A-Z 的编码范围是 65-90,小写字母 a-z 的编码范围是 97-122。因此大写字母的 ASCII 值都小于小写字母。
具体判断方法有几种:
- 直接比较大小:由于
'a'的 ASCII 值是 97,所有大写字母都小于'a',可以直接用c < 'a'判断是否为大写 - 使用库函数:各语言都提供了判断字符类型的函数,如 Python 的
isupper()、C++ 的isupper()等 - 范围判断:判断字符是否在
'A'-'Z'或'a'-'z'范围内
时间复杂度: ,只需要一次比较操作。
空间复杂度: ,只需要存储一个字符。
参考代码
- Python
import sys
input = lambda: sys.stdin.readline().strip()
# 读取字符
ch = input()
# 判断并输出:如果字符小于'a'则为大写,否则为小写
print("up" if ch < 'a' else "low")
- Cpp
#include <iostream>
using namespace std;
int main() {
char ch;
cin >> ch; // 读取字符
// 判断大小写:大写字母ASCII值小于'a'
if (ch < 'a') {
cout << "up";
} else {
cout << "low";
}
return 0;
}
- Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 读取字符
char ch = sc.next().charAt(0);
// 判断大小写:大写字母在'A'到'Z'之间
if (ch >= 'A' && ch <= 'Z') {
System.out.println("up");
} else {
System.out.println("low");
}
sc.close();
}
}
02. 智能温度调控
问题描述
小基 正在设计一套智能家居温度调控系统。系统会根据用户设定的模式来调节室内温度。用户可以选择两种工作模式:min 模式会选择两个温度传感器读数中的较低值作为目标温度,max 模式会选择较高值作为目标温度。
现在给定用户选择的模式 (为字符串
min 或 max),以及两个温度传感器的读数 和
,请输出系统应该采用的目标温度值。
输入格式
第一行输入一个长度为 的字符串
,保证其为
min 或 max。
第二行输入两个整数 (
)。
输出格式
输出一个整数,表示系统应该采用的目标温度值。
样例输入
min
0 0
max
-1 3
样例输出
0
3
| 样例 | 解释说明 |
|---|---|
| 样例1 | 模式为 min,两个传感器读数都是 |
| 样例2 | 模式为 max,两个传感器读数分别为 |
数据范围
-
min,max -
题解
这道题的关键是根据模式字符串判断要取最小值还是最大值。
解题思路:
最直接的方法是判断字符串 是
min 还是 max,然后分别调用对应的函数。但有一个更巧妙的方法:观察这两个字符串的第二个字符,min 的第二个字符是 i,而 max 的第二个字符是 a。因此可以通过判断 s[1] 是否等于 i 来区分两种模式。
具体实现:
- 读取模式字符串
和两个整数
- 判断
是否为
'i'- 如果是,说明模式为
min,输出 - 否则,说明模式为
max,输出
- 如果是,说明模式为
时间复杂度: ,只需要常数次比较操作。
空间复杂度: ,只需要存储字符串和两个整数。
参考代码
- Python
import sys
input = lambda: sys.stdin.readline().strip()
# 读取模式和两个温度值
mode = input()
x, y = map(int, input().split())
# 通过模式字符串的第二个字符判断:'i'表示mi
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
互联网刷题笔试宝典,这里涵盖了市面上大部分的笔试题合集,希望助大家春秋招一臂之力


