一、字符串数组排序拼接
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;
}
三、