寒武纪 笔试C++
一共四道题,我是菜狗,全都没有100%,最后一道题没做出来
第一道题:
一个班有N个学生,如果上课之前到场人数少于K,这节课就取消,给你NK和全班人到班里的时间,让你判断这节课会不会被取消
e.g
input :N4K3 时间:-1 -3 4 2 ==>YES 会被取消,因为0时刻到班俩人
我感觉就是盘有多少大于0的数字,看这个数是不是比K小就行,一开始只有60%,加了个K>N输出YES就80%,然后我就想不到别的情况了,欢迎大佬评论区指导!!!
第二题:
有点像斐波那契,f(i+2)=f(i)+f(i+1)*f(i+1),让你求f(n)
input:f(1) f(2) n 0<=f1,f2<=2 3<=n<=12
我直接递归的,只有60%,一个是longlong会溢出,还有应该可能是内存占用太大 ?
第三题:
有A、B、C、三个数组,每次从两个数组中选一个元素进行删和减操作,比如从A里选a,B里选b,然后B删掉b,A里的a变成a-b,问你最后留下来的数组元素之和最大是多少
input: 2 4 1(三个数组的长度,题里的输入是三行,我直接写一行里了哈
)1 2(第一个) 6 3 4 5(第二个)5(第三个)
output:20
个人觉得,就是三个数组元素之和,先选个max mid 和min,然后return mid-(min-max);然后mid = sum1+sum2+sum3-max-min,带进去就是return sum1+sum2+sum3-2*min,但是只有50%
第四题:
我感觉可能和bfs/dfs有关,可以做出来,但是我的脑子,em,不好形容
题目:给你一个全排列序列(题目就是这样说的我记得,其实就是1~n的乱序),让你找1~n阶完美序列,举个例子吧
序列L:4 5 1 3 2 6
下标i:0 1 2 3 4 5
1阶 就是包含1
2阶 就是连续的两个位置包含1和2 这个序列的1和2被3隔开了,所以没有2阶
3阶 L[2~4]连续包含123,虽然是132,但是算作完美序列
以此类推
最后输出是一串01字符,一阶有为1,二阶没有为0,三阶有为1,所以这三阶的输出就是101
我的想法是以1为中心,向两边去找,用一个count标记小于等于阶数的个数,边界不合法break,遇到比阶数大的break,但是通过率0
比如说我找3阶,1的左边是5,5>3,所以左边的搜索到此为止,1<3,count++,继续,右边3不大于3,count++,继续搜索,2<3,count++,继续,6>3,break,最终count=3=阶数,那么存在3阶完美序列
唉,还是算法题做得不够,小菜狗只能到这个程度了,欢迎大佬评论区指点!!!!!
#寒武纪笔试#
第一道题:
一个班有N个学生,如果上课之前到场人数少于K,这节课就取消,给你NK和全班人到班里的时间,让你判断这节课会不会被取消
e.g
input :N4K3 时间:-1 -3 4 2 ==>YES 会被取消,因为0时刻到班俩人
我感觉就是盘有多少大于0的数字,看这个数是不是比K小就行,一开始只有60%,加了个K>N输出YES就80%,然后我就想不到别的情况了,欢迎大佬评论区指导!!!
第二题:
有点像斐波那契,f(i+2)=f(i)+f(i+1)*f(i+1),让你求f(n)
input:f(1) f(2) n 0<=f1,f2<=2 3<=n<=12
我直接递归的,只有60%,一个是longlong会溢出,还有应该可能是内存占用太大 ?
第三题:
有A、B、C、三个数组,每次从两个数组中选一个元素进行删和减操作,比如从A里选a,B里选b,然后B删掉b,A里的a变成a-b,问你最后留下来的数组元素之和最大是多少
input: 2 4 1(三个数组的长度,题里的输入是三行,我直接写一行里了哈
output:20
个人觉得,就是三个数组元素之和,先选个max mid 和min,然后return mid-(min-max);然后mid = sum1+sum2+sum3-max-min,带进去就是return sum1+sum2+sum3-2*min,但是只有50%
第四题:
我感觉可能和bfs/dfs有关,可以做出来,但是我的脑子,em,不好形容
题目:给你一个全排列序列(题目就是这样说的我记得,其实就是1~n的乱序),让你找1~n阶完美序列,举个例子吧
序列L:4 5 1 3 2 6
下标i:0 1 2 3 4 5
1阶 就是包含1
2阶 就是连续的两个位置包含1和2 这个序列的1和2被3隔开了,所以没有2阶
3阶 L[2~4]连续包含123,虽然是132,但是算作完美序列
以此类推
最后输出是一串01字符,一阶有为1,二阶没有为0,三阶有为1,所以这三阶的输出就是101
我的想法是以1为中心,向两边去找,用一个count标记小于等于阶数的个数,边界不合法break,遇到比阶数大的break,但是通过率0
比如说我找3阶,1的左边是5,5>3,所以左边的搜索到此为止,1<3,count++,继续,右边3不大于3,count++,继续搜索,2<3,count++,继续,6>3,break,最终count=3=阶数,那么存在3阶完美序列
唉,还是算法题做得不够,小菜狗只能到这个程度了,欢迎大佬评论区指点!!!!!
#寒武纪笔试#
全部评论
相关推荐
03-24 23:51
门头沟学院 测试开发 点赞 评论 收藏
分享
Java抽象带篮子_...:可以看看我发的速成帖子,里面详细写了怎么速成,简历怎么写
点赞 评论 收藏
分享
03-27 16:49
门头沟学院 Java 点赞 评论 收藏
分享

