题解 | #不重复打印排序数组中相加和为给定值的所有二元组#

不重复打印排序数组中相加和为给定值的所有二元组

http://www.nowcoder.com/practice/1ff1a607c81748baa1823ffa687d74c4

public class Main {

public static void printUniquePair(int[] arr, int k) {
	if (arr == null || arr.length < 2) {
		return;
	}
	int left = 0;
	int right = arr.length - 1;
	while (left < right) {
		if (arr[left] + arr[right] < k) {
			left++;
		} else if (arr[left] + arr[right] > k) {
			right--;
		} else {
			if (left == 0 || arr[left - 1] != arr[left]) {
				System.out.println(arr[left] + "," + arr[right]);
			}
			left++;
			right--;
		}
	}
}


public static void main(String[] args) {
	int sum = 10;
	int[] arr1 = { -8, -4, -3, 0, 1, 2, 4, 5, 8, 9 };
	printArray(arr1);
	System.out.println("====");
	printUniquePair(arr1, sum);

}

}

全部评论

相关推荐

10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务