unity——软件开发实习生笔试题

三题AC一道,我是铁fw,200 lc+
非LC原题,原题要更长且纯英文,我从中理解出来抽出实际考察内容,以下纯我自己的思路。

题一

给定一个字符串,最少删除多少个字符,可以使剩余字符变成回文串。
举例:
s= "exetest", 返回2 
s = “aaaba” ,返回 0    这里有个坑,不是删除ba这两个字符,剩余aaa组成回文串,而是可以构造aaaba成为回文串aabaa,所以不用删除,我一个小时卡在这里,沾沾自喜以为是最小删除数,还以为平台出问题了。
我的思路:
       计算当前字符串可能的最大回文串长度,然后将字符串长度减去最大回文串长度,获得最小删除数。

题二 (AC)

N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树。

这个太基础了,kruskal 或者 prim 任意。

题三

给定三个数组,从每个数组中选出一个数,最多能形成几个升序序列,序列不能重复,返回序列的个数。
A = {4,5,6,1}
B= {1, 2, 5, 7}
C = { 9 2 11 10}
序列有{4,5,9}, {4, 5, 11}, {4, 5, 10}, {5, 7, 9} ,{5, 7, 11}, {5, 7, 10} , {6, 7, 9} , {6,7,11}, {6, 7,10}, {1, 1, 9},  {1, 1, 11},  {1, 1, 10}, {1, 1, 2},共13个,返回 13.

用回溯,加上不能重复,所以需要考虑剪枝,但等我看到这题的时候,还剩下11分钟,很遗憾。


我刷题太少了,等明年再投把
#软件开发实习##笔试题目#
全部评论
第三题我没注意到不能重复🤐,反而还收集num:cnt给三个数组按cnt都乘到一起了,correctness case也过了4/6有点离谱...我还说咋没全过哪个corner case干的坏事,看你这么一说吓死了
点赞 回复 分享
发布于 2021-11-24 13:50
然后我觉得很扯的一点,我用python写的,一个performance case都过不了就离谱,不区分语言的吗?至少第一题是o(n),我不信还能优化到哪里去
点赞 回复 分享
发布于 2021-11-24 13:54

相关推荐

Java抽象带篮子:安卓怎么你了
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
只写bug的程序媛:才15,我招行20多万,建设银行50多万,说放弃就放弃
点赞 评论 收藏
分享
评论
4
10
分享
牛客网
牛客企业服务