兄弟们京东第七批笔试第三题怎么做啊

数组索引都为奇数或者偶数才能交换,问将一个数组变成有序的最小交换次数
全部评论
分别将索引为奇数和偶数位置上的数取出来组成两个数组,分别排序并计算需要交换的最小次数,然后再把它们放回原来的位置上,看得到的数组是否有序
点赞 回复 分享
发布于 2023-09-23 21:13 北京
请问第二题怎么做呢
点赞 回复 分享
发布于 2023-09-23 21:23 湖南
我写的很麻烦,大致思路是先排序个新数组,再把原数组拆成奇偶数组,然后逐个比较原数组和新数组(排序)每个数。如果数字一样就跳过,不一样就在原数组上做swap(交卷新数组对应的数),同时交换次数+1,这样遍历一遍后就是最优交换数了。麻烦的点在于数组可能有重复数字,所以我是建了堆map映射每个数字到其所有位置(list),然后swap后就根据map从list里删除更新。ps这题相当于今天网易第一题的复杂版(也有些区别)。
点赞 回复 分享
发布于 2023-09-23 21:29 美国
直接检查第i个数等不等于i,不等于就找i的下标idx,如果idx和i奇偶性不同直接转-1,否则就把第i个数移到第idx位置上,第i个数赋予i,转换次数+1,一个循环搞定,但是直接找下标会超时,用哈希表记一下下标。
点赞 回复 分享
发布于 2023-09-23 21:40 江苏

相关推荐

02-12 17:30
已编辑
字节跳动_实习生(实习员工)
要怎么办呢牛:我觉得大厂日常实习最大的意义就是给自己背书,一个好公司的实习就像一个好学历似的,能够给自己增加一个标签,让别人觉得你可以。(至于真正实习干了啥,这个感觉并不太重要)。当然一家之言,仅供参考。另外,楼主已经很强了,实习毕业双双拿下,已经领先好多好多人了,羡慕啊
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经410star,牛客上有完整文档教程,如果觉得有帮助的话可以点个小星星,蟹蟹
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务