腾讯笔试915

md,ak了
T1234 签到四十分钟1A
T5
我们先不考虑蓝变红的情况,那么所有蓝点都不动。这样要让红点指间无蓝点的话必须把红点都挪到一个区间里,区间左右端点必须是蓝点或者正负无穷,且区间内没有蓝点。解这个简化的问题直接枚举每一个区间即可,用前缀和优化一下不然会tle。那么我们接着考虑k次蓝变红的操作,与前面不同的是,这里的区间中可以包含k个蓝点,因为我们可以把这k个都变成红,所以你只需要以k为间隔枚举区间即可。
全部评论
清华✌您吉祥
2 回复 分享
发布于 2023-09-15 22:32 陕西
清华✌️您吉祥😭
1 回复 分享
发布于 2023-09-15 22:27 上海
大佬,请问有代码吗
点赞 回复 分享
发布于 2023-09-16 20:19 上海
不需要考虑区间占满的情况吗?可以好几个点在同一个位置?
点赞 回复 分享
发布于 2023-09-15 22:22 湖北
m
点赞 回复 分享
发布于 2023-09-15 22:18 湖北
清华✌🏻的思路真的好啊,我怎么想不到啊
点赞 回复 分享
发布于 2023-09-15 22:15 四川
666
点赞 回复 分享
发布于 2023-09-15 22:15 北京
清华✌🏻
点赞 回复 分享
发布于 2023-09-15 22:12 广东

相关推荐

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

创作者周榜

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