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

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

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);

}

}

全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务