【笔试刷题】科大讯飞研发岗-2025.09.27-改编真题
✅ 秋招备战指南 ✅
💡 学习建议:
- 先尝试独立解题
- 对照解析查漏补缺
🧸 题面描述背景等均已深度改编,做法和题目本质基本保持一致。
🍹 感谢各位朋友们的订阅,你们的支持是我们创作的最大动力
🌸 目前本专栏已经上线180+套真题改编解析,后续会持续更新的
春秋招笔试机考招合集 -> 互联网必备刷题宝典🔗
科大讯飞研发岗-2025.09.27
题目一:LED屏幕倒计时展示
1️⃣:将输入数字转换为字符串形式进行处理
2️⃣:使用循环输出递减数量的数字,形成倒三角形
3️⃣:注意多位数时要将整个数字作为一个单元重复
难度:简单
这道题是一个典型的模拟题。核心在于理解题意:无论输入的是单位数还是多位数,都要将整个数字作为一个单元来重复输出。通过简单的字符串操作和循环就能解决问题。
题目二:团队奖金分配方案
1️⃣:首先判断问题的可行性,检查总预算是否在合理范围内
2️⃣:使用贪心策略构造解:先给每人分配最小奖金,再分配剩余部分
3️⃣:每次尽可能多地增加某个人的奖金,直到达到上限或分配完毕
难度:中等
这道题是贪心算法的经典应用。关键是理解可行性判断的条件,以及如何构造一个满足约束的解。贪心策略能够保证在有解的情况下一定能找到答案,时间复杂度为 O(n)。
01. LED屏幕倒计时展示
问题描述
小兰在一家科技公司负责设计LED显示屏的展示效果。最近她接到一个特殊任务:为公司年会设计一个倒计时展示效果。
展示规则如下:给定一个正整数 ,需要在LED屏幕上显示
层的倒三角形图案。每一层都由数字
组成,第一层显示
个数字
,第二层显示
个数字
,以此类推,直到最后一层只显示
个数字
。
例如,当 时,显示效果如下:
55555
5555
555
55
5
请帮助小兰编写程序,根据输入的数字生成对应的LED显示图案。
输入格式
第一行包含一个正整数 ,表示要显示的数字。
输出格式
输出 行,每行包含相应数量的数字
,形成倒三角形图案。
样例输入
5
10
样例输出
55555
5555
555
55
5
10101010101010101010
101010101010101010
1010101010101010
10101010101010
101010101010
1010101010
10101010
101010
1010
10
数据范围
| 样例 | 解释说明 |
|---|---|
| 样例1 | 数字5,共5行,每行分别显示5、4、3、2、1个数字5 |
| 样例2 | 数字10,共10行,每行分别显示10、9、8、...、1个字符串"10" |
题解
这道题的关键是理解数字的字符串表示。当输入的数字是单位数时,每行就是简单的数字重复;当输入的数字是多位数时,需要将整个数字作为一个字符串单元来重复。
算法步骤:
- 读入数字
- 将
转换为字符串形式
- 从第1行到第
行,第
行输出
个字符串
- 直接拼接输出,无需额外的分隔符
实现细节:
- 对于单位数(如5),每个"单元"就是一个字符
- 对于多位数(如10),每个"单元"是完整的数字字符串"10"
- 因此第一行的长度是
个字符
时间复杂度: ,其中
是数字
的位数。对于
的数据范围,这个复杂度完全可以接受。
空间复杂度: ,只需要常数级别的额外空间。
参考代码
- Python
import sys
input = lambda: sys.stdin.readline().strip()
def solve():
n = int(input())
# 将数字转换为字符串,这样无论单位数还是多位数都能正确处理
num_str = str(n)
# 输出n行,每行输出递减数量的数字
for i in range(n, 0, -1):
# 第i行输出i个num_str
line = num_str * i
print(line)
if __name__ == "__main__":
solve()
- Cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
// 将数字转换为字符串
string num_str = to_string(n);
// 输出n行倒三角形
for (int i = n; i >= 1; i--) {
// 第i行输出i个num_str
for (int j = 0; j < i; j++) {
cout << num_str;
}
cout << endl;
}
return 0;
}
- Java
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
// 将数字转换为字符串
String numStr = String.valueOf(n);
// 输出n行倒三角形图案
for (int i = n; i >= 1; i--) {
// 第i行重复输出i次numStr
StringBuilder line = new StringBuilder();
for (int j = 0; j < i; j++) {
line.append(numStr);
}
System.out.println(line.toString());
}
}
}
02. 团队奖金分配方案
问题描述
小毛是一家公司的人事经理,他需要为一个 人的项目团队设计奖金分配方案。公司给出了以下约束条件:
- 团队共有
名成员
- 总奖金预算为
元
- 每个成员的奖金必须在
元的区间内
- 需要给出一个具体的分配方案
由于预算和个人奖金范围的限制,可能存在无
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
互联网刷题笔试宝典,这里涵盖了市面上大部分的笔试题合集,希望助大家春秋招一臂之力
查看8道真题和解析