智加科技Plus2020软件工程师校招题选

时长:120分钟 总分:90分

348浏览 1人已完成答题

题型介绍
题型 填空题
数量 7
1.
参数与艺术
问题详情

为了确保智加科技的智能驾驶重卡能够满足各类运输要求,工程师阿文跟着测试车队开始了在中国国道上的驰骋,他敏锐的发现其车辆的参数配置文件采用带有相对路径的树状层次结构进行组织,如以下结构所示(缩进为两个空格字符):
/P1:v1
  Q1:v2
    R1:v3
    R2:v4
/P2:v5
那么,随着测试以及量产车辆的增多需要使用集中式的参数服务器来管理配置,这也意味着将原有的配置文件导入到参数服务器在参数服务器中,参数采用Key-Value的形式进行组织。需将上述格式的配置文件转化成如下形式:
/P1:v1
/P1/Q1:v2
/P1/Q1/R1:v3
/P1/Q1/R2:v4
/P2:v5
请用程序实现以上过程输入为原始带有相对路径的配置文件,输出为平铺展开的配置文件。

输入描述: 输入为层次结构配置文件读入到内存的字符串。输入样例: /P1:v1 Q1:v2 R1:v3 R2:v4 /P2:v5 # 输出描述: 输出为平铺完的字符串。输出样例 /P1:v1 /P1/Q1:v2 /P1/Q1/R1:v3 /P1/Q1/R2:v4 /P2:v5 #
2.
黄油运输的迷思(一)
问题详情

当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。
如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米

  • 【本题编程】假定用这两种箱子排成一个 1米×n米 的队列,不限两种箱子的使用数量,则有多少种不同的排列方式?
输入描述: 第一行输入为整数 n (1<=n<=100)输入样例: 5 输出描述: 第一行输出为结果整数输出样例 8
3.
黄油运输的迷思(二)
问题详情

当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。
如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米

  • 假定用这两种箱子排成一个 1米×n米 的队列,不限两种箱子的使用数量,则有多少种不同的排列方式?

  • 【本题编程】假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量,则有多少种不同的排列方式?
    注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中

输入描述:
第一行输入为 整数 m (1<=m<=10)
第二行输入为 整数 n (1<=n<=10)
输入样例: 2 2 输出描述: 第一行输出为结果整数输出样例 4
4.
黄油运输的迷思(三)
问题详情

当智加科技的无人驾驶车队首次进行横跨美洲的生鲜运输时,工程师阳阳注视着一桶桶的黄油陷入了沉思。他突发奇想,要这一切都是标准化包装物件,那么其尺寸不仅节约控件、提升干线物流运输效率,同时也让简化车辆的动力学、运动学建模,帮助自动驾驶算法更精准、灵敏地操控车辆(但愿如此)。
如果现有两种包装物品的包装运输箱,尺寸分别是长宽 1米×1米 和 1米×2米。

  • 假定用这两种箱子排成一片 m列n行 (m米×n米) 的阵列,不限两种箱子的使用数量(注意:1米×2米 箱子不能旋转方向使用,即不能作为 2米×1米 的箱子跨列摆放在阵列中);

  • 【本题编程】在此基础上,若我们限制箱子阵列必须存在交错排列,以确保货物在运输过程中稳定,则有多少种不同的排列方式?
    注意:对于一个 m米×n米 的阵列,交错排列的定义是:不存在行方向上的某一个位置 k米处 (1<k<n) 可以沿着箱子之间的缝隙将阵列完全
    分离成 m米×k米 和 m米×(n-k)米 两个阵列。

输入描述:
第一行输入为 整数 m (1<=m<=10)
第二行输入为 整数 n (1<=n<=10)
输入样例: 2 2 输出描述: 第一行输出为结果整数输出样例 3
5.
硬核抽奖
问题详情

智加年会惯例的抽奖环节,获得一等奖抽奖资格的同事需要面对一个挑战:主持人会在三个盲盒中的某一个里面放上奖品,然后请抽奖同事指定其中一个盒子。
主持人知道奖品在哪个盒子里,因此,无论抽奖同事选择的盒子中有没有奖品,主持人会从剩下两个盒子里面打开其中一个没有奖品的盒子。这时,除去抽奖者选择的盒子,
主持人打开的没有奖品的盒子,场上还剩下一个盒子。这时候主持人会询问抽奖同事:“我为你排除了一个没有奖品的盒子,你现在要改变选择、选最后剩下的那一个吗?”
抽奖者确定改选或者不改选后,主持人就会打开抽奖者最终选中的盒子,并恭喜中奖(或遗憾宣布与奖品失之交臂)

  • 抽奖者为最大化中奖概率,他应该改选还是不改选,为什么?
  • 我们将上一问题推广,现有 k 个一等奖奖品,放在 m 个盒子中。在抽奖者完成第一次选择后,主持人会在剩下的 m-1 个盒子中,打开 n 个空盒,并且
    询问候选人,是否要改选为剩余的 m-1-n 中的某一个,试给出抽奖者改选以及不改选的中奖概率公式,并证明 对于任意 k,m,n (0<k<m-1-n, m>=3, n>=1)
    存在两种策略的中奖概率一种恒大于另一种
  • 【本题编程】试用编程模拟上一问题
6.
车道线大师
问题详情

小林最近打算标一组车道线地图,他认真阅读了地图可视化工具的对应接口,发现只要自己提供一组有序的点(Node)的坐标,工具就会依次连线画出一条车道线。
每一组点的首尾两点也被称作连接点(Connector),相邻车道的连接点的连线被称为连接线,输入有一组有序的连接点,工具就会依次连线画出一条连接线。
其中,连接线总是与车道线在该处的切线方向垂直。
他还发现,车道线的方向(汽车行驶的方向)也和这组点的排序方式以及对应连接点的排序方式有关:
设Pt是车道线最后一个点的坐标,Ph是车道线第一个点的坐标,Qt是连接线最后一个点的坐标,Qh是连接线第一个点的坐标,
则需满足对应连线形成的两个向量的叉积大于0
小林现在手头有的是一系列无序的坐标点的世界坐标(x,y)以及世界坐标下的朝向角(alpha),他想写一个函数,能将这些数据重新排序,使其满足上述的条件,
能够被地图可视化工具接受,请你帮帮他吧。
输入描述: 每个测试用例的第一行包含一个正整数N和正整数M,N代表车道线的数量,M代表每一条车道线上Node的数量。
接下来的N行,包含M个无序的坐标点(id, x, y, alpha),分别代表点的id,x坐标,y坐标,朝向角
输入样例: 2 3 1 0 0 0 2 10 0 0 3 5 0 0 4 0 3.75 0 5 2 3.75 0 6 10 3.75 0 输出描述: 对于每组测试用例,输出N+2行结果,前N行表示对应的车道线Node排序后的结果,后两行分别表示该组车道线首尾的连接线上Node排序后的结果,使其能被地图可视化工具成功绘制,只需输出id即可输出样例 1 3 2 4 5 6 4 1 6 2
7.
车辆统计者
问题详情

阿飞是刚入职智加科技的萌新,初来乍到的他了解到几乎每天都有不同型号、不同配置、不同编号的卡车在中美两地运营和测试,于是心血来潮的他想统计公司里每种型号的卡车数量,细心认真的他发现工程团队给每辆车命名时都会按照 ‘车型-编号1-编号2-...-编号k’ 的形式,但是在拉取了公司里所有车辆名称后,阿飞发现存在一些不合法的车辆名称。现在请你帮助他写个程序来整理这些车辆名称,并且统计下合法车辆名称里每种车型对应的卡车数量吧。


输入描述:
输入的第1行包含一个正整数n,表示共有n组数据,0 < n < 1000000
接下来的n行包含一个字符串(长度小于100),表示各个卡车的名称。
输入样例: 7 j7-00001 j7-l4e-00002 volvo-wuzhui paccar-k001dm navistar-atlas kenworth-odin peterbilt-thor 输出描述:
按照各个车型的字典序逐行输出车型及该车型的卡车数量
输出样例 j7 2 kenworth 1 navistar 1 paccar 1 peterbilt 1 volvo 1