京东笔试第二题思路

不知道对不对,反正我按这个做法a了。
1、如果最大的数就在第奇数个位置上,那就不需要方法一
2、如果第二大的数就在第偶数个下标处,那也不需要方法一
3、依次类推,若每个数的大小排序(第几大),都和原本在数组中的下标,奇偶相对应,就完全不用方法一。
4、每有一对不在对应奇数/偶数下标处的,一次方法一就能换回到正确的位置上。

代码思路:用一个TreeMap存< 大小,数组下标  >,遍历这个map就能判断每个数是不是在自己该在的奇数/偶数下标处。不是就count+1。
最后count/=2就可。
全部评论
这份代码过了100%,我自己都不知道为啥能过。你研究研究什么原理,记得告诉我一声 nums = [] n = int(input()) for i in range(n): num = int(input()) nums.append([num, i]) nums = sorted(nums, key=lambda x : x[0]) # print(nums) ans = 0 for i in range(n): ans += 1 if (nums[i][1] - i) % 2 == 1 else 0 print(ans//2)
1 回复 分享
发布于 2024-08-31 14:08 黑龙江
每次使用操作1,不会有两个数的奇偶就发生变化了吗?这样算的话,不用考虑使用操作1之后的数字变化吗?😭没懂
点赞 回复 分享
发布于 2024-08-31 13:24 陕西
我也是这么做的
点赞 回复 分享
发布于 2024-08-31 12:55 上海

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
注意格局:去年超发意向是忘了
帮你内推|数字马力 校招
点赞 评论 收藏
分享
WhiteAlbum...:学院本2中大厂垂直实习➕acm比赛 秋招0面试
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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