String[] num = { "1201", "12018", "1201800","12018000" };
String prefix="120180000175135";
У меня есть две переменные: одна - массив String, а другая - String. Теперь я хочу получить самое длинное значение из массива String, используя префикс. Пожалуйста, предложите мне, как я могу это сделать в Java.
Пожалуйста, просмотрите также мое решение, но оно не работает в вышеуказанных условиях.
private static Item binarySearch(Item[] a, String key) {
int low = 0;
System.out.println("a.length" + a.length);
int high = a.length - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int len = Math.min(key.length(), a[mid].key.length());
String midVal = a[mid].key.substring(0, len);
String cmpKey = key.substring(0, len);
if (midVal.compareTo(cmpKey) > 0)
low = mid + 1;
else if (midVal.compareTo(cmpKey) < 0)
high = mid - 1;
else
return a[mid];
}
return null;
}