我現(xiàn)在在美國上學(xué),有個(gè)作業(yè)不會(huì)寫,是關(guān)于JAVA編程的,老師能詳細(xì)講講嗎?具體問題是”Write a Java program to find a specified element in a given array of elements using Binary Search.”這個(gè)老師能解答嗎?
我們這邊有專業(yè)的JAVA輔導(dǎo)老師可以隨時(shí)為同學(xué)講解課后作業(yè),同學(xué)需要的話直接聯(lián)系我們就可以,我們會(huì)在第一時(shí)間結(jié)合同學(xué)的具體情況來匹配老師,并盡快開始補(bǔ)習(xí)。
“Write a Java program to find a specified element in a given array of elements using Binary Search”翻譯過來是“編寫一個(gè)Java程序,使用二分搜索法在給定的元素?cái)?shù)組中找到指定的元素”。根據(jù)作業(yè)題目來看,同學(xué)應(yīng)該是不太熟悉二分搜索法,其實(shí)二分搜索法的主要想法是將搜索范圍分成兩半。然后檢查中間值,根據(jù)中間值決定是在左邊部分還是右邊部分繼續(xù)搜索。以下是大致的編程思路:
public class Main {
public static int binarySearch(int[] nums, int flag) {
int hi_num = nums.length - 1;
int lo_num = 0;
while (hi_num >= lo_num) {
int guess = (lo_num + hi_num) >>> 1;
if (nums[guess] > flag) {
hi_num = guess - 1;
} else if (nums[guess] < flag) {
lo_num = guess + 1;
} else {
return guess;
}
}
return -1;
}
public static void main(String[] args) {
int[] nums = {1, 5, 6, 7, 8, 11};
int search_num = 7;
int index = binarySearch(nums, search_num);
if (index == -1) {
System.out.println(search_num + " is not in the array");
} else {
System.out.println(search_num + " is at index " + index);
}
}
}
希望上述講解能夠幫助到同學(xué)。如果同學(xué)還有其他JAVA作業(yè)問題,直接咨詢我們的美國課程輔導(dǎo)老師即可,老師會(huì)及時(shí)為同學(xué)解答。