携程Java开发笔试

大佬们教教3,4题的思路吧。

1.字符串正序倒序拼接。
2.二位数组随机01,每次操作一个1*2的小矩阵的数全置为1,求最小次数。
3.一个长度为n的数组res存放整数(有正负),要求选择一个全是偶数的连续子数组arr,将arr的和除以2,并与res中除了arr数组外其他所有值相加得到结果sum,要求这个sum最大。
4.给定一个数n,求1! * 2! * 3! * …… n! 所包含的因数个数。

第一,二题 AC

第三题暴力法,取出所有全是偶数的尽可能长的连续子数组Arrs,在每个Arr中遍历所有的子数组求它们的和,取最小的和记住它们的下标。最后在原数组中按要求求和。超时了,A了45%。

第四题不会,碰到数学题就寄...
#携程##携程笔试#
全部评论
第三题对array操作时不要暴力,而是用求最大连续子串和的思想求出array中连续的最小的负值,再把数据类型改为long,就可以了
1 回复 分享
发布于 2024-03-29 14:37 江西
第三题,动态规划,计算最小连续子序列和,然后用数组总和减去最小子序列和的一半就算出来了
点赞 回复 分享
发布于 2024-03-28 23:00 云南
三题用动态规划就行,dp[i]=min(dp[i-1],0)+nums[i],四题不会😭
点赞 回复 分享
发布于 2024-03-28 22:36 四川

相关推荐

马里奥天生励志:估计是寄了,又是一个测试发现网的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
可爱的牛油果在求佛:再给你说一点,之前我的简历像流水账,当时我在面试的时候,面试官说:“你简历上的都是在调包吗?有自己的改进吗?如果没有改进直接调包的话,我觉得没什么可深挖的”。当时给我整懵了。其实大部分确实是在调包,因为我确实就用到这些简单的技术,如果只是把技术要点写在简历上,那没什么好说的,没意思,没什么深挖的。但是调包与调包之间仍存在区别,那就是自己的思考,如果你不把自己的困难摆出来,人家觉得就是简单的调包,有啥难的。其实只有你自己知道这个项目的难点在哪,只有你自己知道为什么要用这个技术,为什么要调这个包,而你需要展示的,不是技术,而是这个“为什么”,这是关键。所以,当你的技术不是很硬核的时候,就要突出自己的思考,这时候“思考”是难点,而当你的简历很硬核,技术很复杂时,技术本身就是难点。
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
09-15 18:37
已编辑
门头沟学院 后端工程师
让校招回归公平好吗。各大公司学习一下
秋招路在何方:互娱和雷火的笔试是确实是我见过最严格的,支持
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

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