दो क्रमबद्ध सरणी से निकटतम जोड़ी खोजने के लिए, जावा कोड इस प्रकार है -
उदाहरण
public class Demo { void closest_pair(int my_arr_1[], int my_arr_2[], int arr_1_len, int arr_2_len, int sum){ int diff = Integer.MAX_VALUE; int result_l = 0, result_r = 0; int l = 0, r = arr_2_len-1; while (l<arr_1_len && r>=0){ if (Math.abs(my_arr_1[l] + my_arr_2[r] - sum) < diff){ result_l = l; result_r = r; diff = Math.abs(my_arr_1[l] + my_arr_2[r] - result_l); } if (my_arr_1[l] + my_arr_2[r] > result_l) r--; else l++; } System.out.print("The closest pair that matches two arrays is [" + my_arr_1[result_l] + ", " + my_arr_2[result_r] + "]"); } public static void main(String args[]){ Demo my_ob = new Demo(); int my_arr_1[] = {56, 78, 99, 11}; int my_arr_2[] = {33, 12, 69, 87}; int arr_1_len = my_arr_1.length; int arr_2_len = my_arr_2.length; int val = 79; my_ob.closest_pair(my_arr_1, my_arr_2, arr_1_len, arr_2_len, val); } }
आउटपुट
The closest pair that matches two arrays is [56, 33]
डेमो नामक एक वर्ग में 'निकटतम_पेयर' नाम का एक फ़ंक्शन होता है, जो दोनों सरणियों के माध्यम से पुनरावृति करता है और यह देखने के लिए जांच करता है कि कौन सा योग एक संख्या में जोड़ता है जो पहले निर्दिष्ट संख्या के बहुत करीब है। सरणी से यह जोड़ी आउटपुट के रूप में लौटा दी जाती है। मुख्य फ़ंक्शन में, डेमो क्लास का एक नया उदाहरण परिभाषित किया गया है, सरणियों को परिभाषित किया गया है, और उनकी लंबाई को क्रमशः दो चरों को सौंपा गया है। फ़ंक्शन को सरणियों, उनकी लंबाई और मान को पास करके कहा जाता है। प्रासंगिक संदेश कंसोल पर प्रदर्शित होता है।