科大讯飞后端笔试(26秋招)

时间:2025-8-02

一、通用选择题

二、后端选择题

三、Java选择题

四、编程题

(1)给一个字符串s和t,t字符串的长度必为偶数,将t字符串的后一半截断拼接在s的后面即可。

思路:送分题,注意读取输入时s、t字符串会存在空格。

(2)给一个字符串数组(每个字符串由小写字母组成),将其任意组合拼接后,可以任意删除一个字符,求最小字典序的的组合。

思路:求所有的全排列组合,然后将每一种组合的第一个降序字符删除,从所有组合筛选出最小字典的即可。

(3)在一个平面坐标图上存在n个点,求一个圆心在坐标轴,且圆的范围能够覆盖n/2(向下取整)个点的最小半径r。

思路:没做出来,下面是AI给的思路。

  1. 二分搜索半径:确定半径的上下界:下界为0,上界为所有点坐标绝对值的最大值(即max(|x_i|, |y_i|),因为当半径足够大时,一定能覆盖所有点。通过二分搜索寻找最小半径:对于每个中间半径mid,检查是否存在圆心在x轴或y轴上、半径为mid的圆覆盖至少一半的点。
  2. 检查候选半径:圆心在x轴上:圆心为(c, 0)。对于每个点(x, y),若|y| <= r,则计算圆心横坐标c的范围区间[x - d, x + d],其中d = sqrt(r^2 - y^2)。将这些区间转化为事件点(区间起点加1,终点减1),排序后扫描事件点,统计覆盖次数,若存在某个c的覆盖次数达到要求,则半径可行。圆心在y轴上:类似处理,圆心为(0, c),对每个点(x, y),若|x| <= r,计算c的范围区间[y - d, y + d],同样扫描事件点判断。
  3. 事件点处理:事件点包括区间起点(+1)和终点(-1),按坐标排序,坐标相同时起点事件优先。扫描事件点,维护当前覆盖次数,若覆盖次数达到一半点数,则当前半径可行。
  4. 精度控制:二分搜索的终止条件为半径区间长度小于1e-7,确保足够的精度。
#科大讯飞##笔试##秋招#
全部评论
你好呀 选择难吗
点赞 回复 分享
发布于 08-08 17:05 江苏
我这里有最近在做的大厂项目都可以包装到简历上,包装完后还有针对性的大厂面试辅导培训,已经帮助很多同学上岸,感兴趣的话可以直接看我主页简介,那里有项目线索指引
点赞 回复 分享
发布于 08-04 17:00 江苏

相关推荐

08-09 21:00
武汉大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务