首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客87486360号
获赞
3
粉丝
0
关注
0
看过 TA
1
男
门头沟学院
2021
Java
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客87486360号吗?
发布(2)
刷题
牛客87486360号
2020-04-11 23:44
已编辑
Java
网易笔试4.11 第三题 错排
设序列为 当n为偶数时,很显然,相邻的两两交换,即与交换,与交换,以此类推生成错排。这样代价是最小的,因为错排与原排序中每个元素的距离都为1,代价为。 当n为奇数时,我们分情况。 设奇数位最小的为,x为对应的下标;偶数位最小的为,y为对应下标。 首先需要明确的一点是,n为奇数时,我们无法再通过类似n为偶数的情况,把相邻数对两两交换,因为必然会有一个是剩下的。剩下的这个,无论如何,在错排中与原排列的距离都会大于1。 若,最小的V在奇数。那么以下标x为分界条件,将错排分成三部分,后半部分为n-x个,且n-x为偶数,可以直接采用相邻交换的方式,这部分的距离都为1。而取x-2,x-1,x三个位置,作为...
投递网易等公司10个岗位 >
0
点赞
评论
收藏
转发
牛客87486360号
2020-04-04 00:21
Java
阿里 笔试 4.3 第一题
这里发下两种不同的解法,一种是set+二分,另一种是排序加单调栈。 个人对拍觉得OK。 第一种 #include <iostream> #include <vector> #include <queue> #include <stack> #include <algorithm> #include <cstring> #include <cmath> #include <set> using namespace std; // a为有价值的数, // 当且仅当左侧存...
投递阿里巴巴等公司10个岗位 >
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务