Monday, 30 March 2026

Two Sum Close to Zero

package in.jk.array;


import java.util.Arrays;


public class TwoSumCloseToZero {

public static void main(String[] args) {

int [] arr = {100,99,1,2,3,4,5,6,7,8,9,10};

int target=105;

Arrays.sort(arr);

System.out.println(Arrays.toString(twoSum(arr, target)));

}

public static int [] twoSum(int [] arr ,int target) {

int [] result =new int [2];

int left = 0;

int right = arr.length-1;

int minSum =Integer.MAX_VALUE;

int l=0;

int r=0;

while (left<right) {


int sum = arr[left]+arr[right];

int diff = Math.abs(target-sum);

if(diff<minSum) {

minSum=diff;

l=left;

r=right;

}else if(sum<target) {

left++;

}else if(sum>target) {

right--;

}else {

return new int[] {arr[l],arr[r]};

}

}

return result;

}


}


Output ::


[5, 100]

No comments:

Post a Comment