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

最少交换次数

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

描述


给出一个无序数列,每次只能交换相邻两个元素,求将原数列变成递增数列的最少交换次数。
如:数列: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); }

相关文章

sonarqube安装使用

sonarqube安装使用

必要条件 JDK8(Oracle JRE8 或者OpenJDK8) 硬件需求,非企业版的要求特别低,直接忽略了,企业版的需要8核CPU、16GBRAM。 支持的平台 JDK:Oracle...

EXPLAIN 命令详解

EXPLAIN 命令详解

在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要...

在虚拟机里新安装Ubuntu无法全屏问题

在虚拟机里新安装Ubuntu无法全屏问题

除了本文外还有一种 完美解决Ubuntu16.04虚拟机窗口全屏问题,或者安装VMware Tools,单个人感觉还是简单就好,所以选择敲个命令完事。(转)在win7中用虚拟机安装了Ubuntu 16...

发表评论

访客

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