Wil*_*son 3 java binary-search
打印出-1我可能会错过这种情况,因为"德国"绝对是在数组中
public class A
{
static PrintWriter pw = new PrintWriter(System.out, true);
public static void main(String[] args) throws IOException
{
String[] a = new String[4];
a[0]="India";
a[1]="Italy";
a[2]="Germany";
a[3]="India";
pw.println(Arrays.binarySearch(a, "Germany"));
}
}
Run Code Online (Sandbox Code Playgroud)
二进制搜索需要对数组进行排序(堆).您可以使用Arrays.sort():
public class A
{
static PrintWriter pw = new PrintWriter(System.out, true);
public static void main(String[] args) throws IOException
{
String[] a = new String[4];
a[0]="India";
a[1]="Italy";
a[2]="Germany";
a[3]="India";
Arrays.sort(a);
pw.println(Arrays.binarySearch(a, "Germany"));
}
}
Run Code Online (Sandbox Code Playgroud)
注意,这要求元素类型要么是基本类型,要么是Comparable <T>的连接,它适用于String.
| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |