Algorithm 字符串数组

一、字符串数组排序拼接

public static String lowestString(String[] s){
        Arrays.sort(s,new MyComparator());
        StringBuilder result = new StringBuilder();
        for(int i=0;i<s.length;i++)
            result.append(s[i]);
        return result.toString();
    }
    
    static class MyComparator implements Comparator<String>{

        @Override
        public int compare(String o1, String o2) {
            return (o1 + o2).compareTo(o2 + o1);
        }
        
    }

 

二、字符串数组中的两字符串最短距离

public static int minDistance(String[] arr, String s1, String s2){
        ArrayList<Integer> list1 = new ArrayList<Integer>();
        ArrayList<Integer> list2 = new ArrayList<Integer>();
        for(int i=0;i<arr.length;i++){
            if(arr[i].equals(s1))
                list1.add(i);
            if(arr[i].equals(s2))
                list2.add(i);
        }
        int min = Integer.MAX_VALUE;
        for(int i=0;i<list1.size();i++)
            for(int j=0;j<list2.size();j++)
                min = Math.min(min, Math.abs(list1.get(i) - list2.get(j) ));    
        return min;
    }

 

三、

posted @ 2016-01-03 15:55  √珞珈搬砖工√  阅读(87)  评论(0)    收藏  举报