当前位置:首页 > 未命名 > 正文内容

最少交换次数

淙嶙5年前 (2020-07-22)未命名1128

描述


给出一个无序数列,每次只能交换相邻两个元素,求将原数列变成递增数列的最少交换次数。
如:数列:2,3,1,交换3和1后变成:2,1,3;交换1和2之后变成:1,2,3。总共交换2次。


输入


逗号隔开的正整数数列


输出


正整数


输入样例

2,3,1

输出样例

2

< pre class="brush:java;toolbar:false">private static String solution(String line) {     // 在此处理单行数据    String[] a = line.split(","); List list = new LinkedList(); for(int i =0;i<a.length;i++){ list.add(Integer.parseInt(a[i])); } int count = list.size() -1; int changeCount = 0; int maxIndex = 0; while(count-- > 0){ maxIndex = 0; for(int j= 1;j<list.size();j++){ if(list.get(maxIndex) < list.get(j)){ maxIndex =  j; } } changeCount += list.size() -1 - maxIndex; list.remove(maxIndex); }    return String.valueOf(changeCount); }

相关文章

Dubbo到底如何读?

Dubbo到底如何读?

一个不必计较的问题,可是总有人想追个究竟,有人读“杜博”,有人读“达博”,今天查询了下,百度翻译成“杜博”,而google、有道、金山词霸翻译成“达博”。从这方面看还是“达博”更被翻译软件支持。个人还...

找出可能的合的组合

找出可能的合的组合

描述 给出一组不重复的正整数,从这组数中找出所有可能的组合使其加合等于一个目标正整数 N,如:一组数为 1, 2, 3,目标数为 4,那么可能的加合组合为:1, 1, 1, 11, 1, 21,...

docker 简介

docker 简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。