杭州前端岗
总共 3 道题,限时 150 分钟
题目描述:
给出一个整数数组,找出出现频率最多的数字,输出该数字在数组中最后一个下标与第一个下标之差,如果有多个频率最高数字,输出最小下标之差。
测试用例:
[1, 2, 2, 3, 3, 4, 3, 1, 1],频率最高的有数字 1 和 3 ,但是 3 构成的数组 [3, 3, 4, 3] 长度 ( 4 )最小,所以输出 4 。
解法:
HashMap ,根据 value 排个序,找出频率最高 key, lastIndexOf - indexOf, 然后 Math.max(ans, tempMax)
总结:
这道题耗时最长,以前从未做过 HashMap 排序,最后转成数组排序的
测试通过率✅: 80%(应该是有 edge cases 没考虑到)
题目描述:
双人自行车限重 m ,给出一组公司员工体重,每个人的体重都小于限重,求最少需要多少辆双人自行车。
解法:
排序 + 双指针
总结:
有思路了就直接 AC 了
测试通过率✅: 100%
题目描述:
连续子列问题,一个整数数组,数据规模较大,输出和( sum )相等的连续子列构成数组的最大长度。
测试用例:
解法:
每一个元素看做一个子序列,遍历一遍
总结:
原题中文描述的,太抽象了,也没掌握过什么高级数据结构和算法,暴力解了
测试通过率✅: 56.36%(数据规模较大,算法复杂度太高,应该是超时了)
当天下午在牛客上刷了 5 道题,熟悉了一下输入输出,晚上题目发过来就做了
机考是用牛客的 ACM 模式,每道题只能提交一次,90 分钟交卷,最后得分 260
运气还算比较,基础数据结构里没有二叉树相关题目
小技巧:草稿纸上演算一次效率超高
以前面试都是盯着屏幕傻看。。。
因为简历上有超过半年空窗期,后面流程也就没往下走了,另外,因为身体原因,不大能适应加班。
有需要的就当经验帖了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.