2020蓝桥杯省赛---java---B---5(排序)
生活随笔
收集整理的這篇文章主要介紹了
2020蓝桥杯省赛---java---B---5(排序)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
思路分析
0+1+2+3+········+13=91,而0+1+2+3+········+13+14=105。
讓下標(biāo)為j的字符提到最前,正好達(dá)到100次交換,這樣也滿足了最小字典序,也可以驗(yàn)證一下。
代碼實(shí)現(xiàn)
package TEST;public class Main {public static void main(String[] args) {String str="ojnmlkihgfedcba";String str1="jonmlkihgfedcba";// {9,14,13,12,11,10,8,7,6,5,4,3,2,1,0}數(shù)字每移動(dòng)一位減少一次char[] ch = str.toCharArray();if (f(str)==100){System.out.println(str);}if (f(str1)==100){System.out.println(str);}}public static int f(String str){int sum=0;char[] arr=str.toCharArray();for(int i=0;i<arr.length-1;i++){for (int j = 0; j < arr.length - 1 - i; j++) {if(arr[j]>arr[j+1]){char temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;sum++;}}}return sum;}}答案
jonmlkihgfedcba
總結(jié)
以上是生活随笔為你收集整理的2020蓝桥杯省赛---java---B---5(排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020蓝桥杯省赛---java---B
- 下一篇: lol最佳台式电脑配置?