2025 百度笔试题 Zz一、编程题(30 分)输入:N(整数)输入:数据文件 A
txt,不超过 6 条记录,字符串长度不超过 15 个字节文件格式如下:字符串\\t 数字\\n说明:每行为 1 条记录;字符串中不含有\\t
数字描述的是该字符串的出现概率,小于等于 100 的整数
多条记录的出现概率之和为 100,假如 A
txt 不满足该条件,程序则退出;假如文件格式错误,程序也退出
要求:编写一个程序,输入为 N(正整数),读入文件 A
txt,根据字符串出现概率随机地输出字符串,输出 N 条记录例如:输入文件 A
txtabc\\t20a\\t30de\\t50输入为:10即 abc 有 20%的概率输出,a 有 30%的概率输出,de 有 50%的概率输出,输出 10 条记录以下为一次输出的结果,多次输出的结果可能不相同
abcadedeabcdeadeade二、算法题(35 分)题目描述:设有 n 个正整数,将它们联接成一排,组成一个最小的多位整数
程序输入:n 个数程序输出:联接成的多位数例如:n=2 时,2 个整数 32,321 连接成的最小整数为:32132,n=4 时,4 个整数 55,31,312, 33 联接成的最小整数为:312313355[题目要求]1
给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算法
给出算法的时间空间复杂度
证明你的算法
(非常重要)三、系统设计题(35 分)在一个有 1000 万用户的系统中,设计一个推送(feed)系统
以下是一些预定义概念:1、用户:在这个系统中,每个用户用一个递增的 unsigned int 来表示 user id(简写为 uid);则 uid 的范围是从 1 到1000 万的正整数
2、好友:用户之间可以形成好友关系,好友是双向的;比如说 uid 为 3 和 ui