9.15腾讯笔试

1.一眼以为要归并排序,但是太久没写代码了,想着试着写个简单的解法。
把链表数组存到list里面,然后调包自动排序list,最后构造一个链表返回,AC了
2.知道是贪心,刚开始试着每次arrays.sort,找最小,超时了,过了25。后面优化贪心也只到30。就这样吧
3.就暴力搜,把初始位置和t位置存起来,然后对每辆车暴力求排名,自己的排名对比。n的二次方过了59,不管了就这样吧
4.a+a.contains(b)判断是不是匹配,然后暴力过了46。
5.sout(0)过了6,不管了

总结,全是暴力,没有一点感情
总分244
全部评论
大佬,腾讯笔试是ACM模式还是核心代码模式呀
点赞 回复 分享
发布于 2024-03-28 16:55 河北
第二题可以用优先级队列
点赞 回复 分享
发布于 2023-09-16 14:14 江西
第二个最小堆可以 ac
点赞 回复 分享
发布于 2023-09-16 09:49 北京
第一题我也一样的思路,把所有数都存在一个list里面,然后调库排序,结果就是超时😅
点赞 回复 分享
发布于 2023-09-16 01:33 广东
第二个priorityqueue?
点赞 回复 分享
发布于 2023-09-16 00:26 上海
感觉这次笔试应该不难,我太菜了,全靠暴力
点赞 回复 分享
发布于 2023-09-15 22:33 浙江

相关推荐

1.图文上传流程2.如何解决图片上传的负载3.不同文件预览的挑战4.讲一下自定义hook5.讲一下Vue2 和vue3 的差异6.vue3解决了vue2的什么问题7.react对比vue的差异8.了解性能优化,在网络层面讲一下优化9.301 和 302区别10.浏览器缓存的策略11.具体是怎么触发缓存12.css的动画中,给一个元素写一个动画,又给它绑定了js点击事件,会生效吗13.反过来,js的代码会不会影响css14.盒子模型,width:100 padding:100 宽度是多少手撕:对于一个数组(长度>=3)进行乱序排序,要求每个元素不会落到原来位置,且落到其他位置的概率相同:function derangementShuffle(arr) {const n = arr.length;// 复制数组,防止修改原数组const shuffledArr = [...arr];// 1. 使用 Fisher-Yates 洗牌算法进行初步打乱for (let i = n - 1; i > 0; i--) {const j = Math.floor(Math.random() * (i + 1));[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}// 2. 检查并纠正还在原位的元素for (let i = 0; i < n; i++) {// 如果当前元素还在原位,需要进行交换if (shuffledArr[i] === arr[i]) {let j = (i + 1) % n; // 从下一个位置开始找// 找到一个可以交换的元素while (shuffledArr[j] === arr[j] && j !== i) {j = (j + 1) % n;}// 进行交换[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}}return shuffledArr;}// 示例const originalArr = [1, 2, 3, 4, 5];const derangedArr = derangementShuffle(originalArr);追问:这段代码的时间复杂度是多少反问:1.业务2.几面
查看15道真题和解析
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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