腾讯后台

3.13 csig
自我介绍
实习拷打
实现一个线程安全的FIFO的固定大小的循环队列
设计一个日程系统

3.4 teg
自我介绍
项目拷打
spark开源版本的区别
写代码中遇到的问题
流式系统如何对账保障高可用
es索引拆分重写
es有正向索引优化吗
全部评论
世另我
1 回复 分享
发布于 03-14 12:00 北京
哥,求问:实现一个线程安全的FIFO的固定大小的循环队列是让你coding还是问你思路呢?
点赞 回复 分享
发布于 03-15 21:45 广东
base 哪里呀
点赞 回复 分享
发布于 03-14 16:38 上海
项目细节不错
点赞 回复 分享
发布于 03-14 12:00 北京
蹲蹲哪家
点赞 回复 分享
发布于 03-14 12:00 北京
接好运
点赞 回复 分享
发布于 03-14 12:00 北京
名字说一下
点赞 回复 分享
发布于 03-14 12:00 北京

相关推荐

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道真题和解析
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

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