+1
点赞 评论

相关推荐

10-15 21:30
已编辑
清华大学 Python
考120分钟,有30道选择题(25单选,5多选),2道编程。第一题:最大的乘积题目描述给定四个正整数a,b,c,d, 你可以进行若干次操作,每次操作可以从a,b,c,d中选择一个,然后令这个数加1,求操作后这四个正整数的乘积 a*b*c*d 的最大值。输入描述输入包含多组测试数据。输入第一行包含一个正整数T(1≤T≤100),表示测试数据的数量。接下来T行,每行四个正整数,包含a,b,c,d(1≤a,b,c,d≤20)四个数。输出描述对于每组测试数据输出一行一个整数,表示操作后这四个正整数的乘积 a*b*c*d 的最大值。样例输入21 2 3 41 2 1 3样例输出7224第二题:最大子段和...
他说他是自愿的:第一题优先队列,题目给的很小,最多就操作100次,优先队列不断拎出来最小的元素+1再放回去,最后相乘就是答案。第二题动态规划,力扣53最大子数组和的那道题,2个数组存从左往右和从右往左以i结尾的连续子数组的最大值,2个子数组算从左往右前i个元素和的最大值和从右往左前i个元素的最大值,然后for循环左边最大值取一段,空k个元素右边最大值取一段,不断把左右最大值相加比较就能得到全局最大。感觉这题还好,之前被小红书拷打了两次给我整不自信了。
投递百度等公司10个岗位 >
点赞 评论 收藏
分享
10-15 21:34
门头沟学院 Java
15道单选,5道不定项选择,3道算法题,两个小时,时间紧张,主要是算法题有些难度。选择题还是常规,数据结构(排序算法,二分查找,KMP),操作系统(Linux,磁盘调度算法,虚拟内存(最近频繁碰到)),计算机网络(HTTPS),数据库。不定项选择里,全是Java相关。算法题,难度陡然递增,2和3量大题难。第一题签到题,比较简单,确定计算最大积分公式即可。第二题,看着很容易,字符串操作类的题目,直接用暴力解析,循环n次每次将第i个字符移动到末尾,但最后超时了,过了70%多,怕时间不够先跳了,折回来分析看字符串的最大长度为10^6,如果通过StringBuilder直接删除和增加的时间复杂度是O(n),加上一层遍历时间复杂度是O(n^2),优化的点就是采用更高效的搜索树,降低删除和插入的时间复杂度,一般可以降低到O(logn),想到了平衡二叉树,那么问题就转化为了实现一个平衡二叉树,定义好其节点类以及旋转,插入,删除和遍历的操作。第三题,麻将胡牌种数的题目,蛮有意思的。整体思路就是枚举和验证,核心点也是容易超时,因此需要一些技巧来优化,首先就是dp来减少重复计算,然后就是通过剪枝来提前排除不可能的情况,由于刻子和顺子在牌种确定的情况下,可以预计算出来,减少耗时,最后就是通过位运算来判断手牌状态,加速状态转移和判断。总的来说,百度这套题,选择题常规,还算比较简单,算法题属于是,想做出来简单,思路很直接,但需要一些技巧来优化避免超时的问题,区分度确实有,我觉得还算合理,算法题2和3即使不用任何优化技巧,也能拿一半的分。 #百度求职进展汇总#
投递百度等公司10个岗位 百度求职进展汇总
点赞 评论 收藏
分享
牛客网
牛客企业服务