关注
暴力做的,后来写完的,一开始只能过56,后来改了下,也不知道能不能过全部
public class Lianjia3 {
private static boolean isTrue(int[] verify,int[] data, int n){
for (int i=0;i<n;++i){
if (verify[i]!=data[i]){
return false;
}
}
return true;
}
private static void swap(int i,int j,int[] data){
int t=data[i];
data[i]=data[j];
data[j]=t;
}
private static int ans=Integer.MAX_VALUE;
public static void solve(int index,int[] verify,int[] data,int n,int cur){
if (isTrue(verify, data, n)){
ans=Math.min(ans, cur);
return;
}
if (verify[index]==data[index]){
solve(index+1, verify, data, n, cur);
return;
}
int id=-1;
for (int j=index+1;j<n;++j){
if(data[j]==verify[index] && verify[j]==data[index]){
id=j;
break;
}
}
if(id!=-1){
swap(index, id, data);
solve(index+1, verify, data, n, cur+1);
}
if (id==-1){
for (int j=index+1;j<n;++j){
if(data[j]==verify[index] && verify[j]!=data[j]){
id=j;
swap(index, j, data);
solve(index+1, verify, data, n, cur+1);
swap(index, j, data);
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[] data=new int[n];
int oneCount=0;
int twoCount=0;
int threeCount=0;
for (int i=0;i<n;++i){
data[i]=in.nextInt();
if (data[i]==1){
oneCount++;
}else if (data[i]==2){
twoCount++;
}else{
threeCount++;
}
}
int[] verify=new int[n];
int i=0;
for (int j=0;j<oneCount;++j){
verify[i++]=1;
}
for (int j=0;j<twoCount;++j){
verify[i++]=2;
}
for (int j=0;j<threeCount;++j){
verify[i++]=3;
}
solve(0,verify, data, n, 0);
System.out.println(ans);
in.close();
}
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 6月18日,我将站上法庭,正式起诉美团。我送出的每一单快件,都是我人生碎片的一部分。我会一直前进,拿回在海外SaaS失去的一切。5.5W
- 2... 这b学校一天天的不想着提高就业率就算了还拖累学生是吧?1.3W
- 3... 研一快手后端开发,一周速通,附一二面面经1.1W
- 4... 25校招 双非硕 拿下大厂🐧1.0W
- 5... 运气远大于努力?8167
- 6... 主包租房的经验总结!4083
- 7... 有谁遇到这情况?3973
- 8... 挚文集团-陌陌笔试202506063723
- 9... 小米一面3452
- 10... 上海银行 修改入职协议 不还本科毕业证学位证双证原件 😂3129
正在热议
更多
# 实习吐槽大会 #
45431次浏览 203人参与
# 产品实习,你更倾向大公司or小公司 #
150367次浏览 1931人参与
# 我的实习收获 #
37896次浏览 559人参与
# 得物求职进展汇总 #
96129次浏览 804人参与
# 晒一晒你的工位 #
88600次浏览 313人参与
# 现在还是0offer,延毕还是备考 #
1030272次浏览 7546人参与
# 硬件兄弟们 甩出你的华为奖状 #
103735次浏览 688人参与
# 来聊聊你目前的求职进展 #
627034次浏览 6725人参与
# 如何看待offer收割机的行为 #
777023次浏览 6019人参与
# 工作中,努力重要还是选择重要? #
122643次浏览 1534人参与
# 互联网回暖,腾讯要招5000人! #
17072次浏览 557人参与
# 我的租房踩坑经历 #
38927次浏览 371人参与
# 26届秋招投递记录 #
5946次浏览 154人参与
# 为什么国企只招应届生 #
172547次浏览 1140人参与
# 移动求职进展汇总 #
1791次浏览 19人参与
# 你觉得技术面多长时间合理? #
94304次浏览 684人参与
# 双非能在秋招上岸吗? #
215604次浏览 1150人参与
# 穿越回高考你还会选现在的专业吗 #
27102次浏览 302人参与
# 我和mentor的爱恨情仇 #
46062次浏览 287人参与
# 求职遇到的搞笑事件 #
114009次浏览 775人参与