class FindPair
{
private boolean isPairPresent(int[] arr, int sum, int start, int end) {
//boolean result = false;
System.
out.
println(start
+"^^^^^"+end
);
if(start==arr.length||end==-1)
return false;
if(arr[start]+arr[end]==sum){
System.
out.
println(start
+"----------"+end
); System.
out.
println(arr
[start
]+"------"+arr
[end
]); return true;
}
return isPairPresent(arr, sum, start+1, end) || isPairPresent(arr, sum, start, end-1);
}
{
int[] arr = { 8, 7, 2, 5, 3, 1 };
int sum = 10;
System.
out.
println(new FindPair
().
isPairPresent(arr,
10,
0, arr.
length - 1)); }
}
Y2xhc3MgRmluZFBhaXIKewoJIHByaXZhdGUgYm9vbGVhbiBpc1BhaXJQcmVzZW50KGludFtdIGFyciwgaW50IHN1bSwgaW50IHN0YXJ0LCBpbnQgZW5kKSB7CiAgICAgICAgLy9ib29sZWFuIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihzdGFydCsiXl5eXl4iK2VuZCk7CiAgICAgICAgCiAgICAgICAgaWYoc3RhcnQ9PWFyci5sZW5ndGh8fGVuZD09LTEpCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAKICAgICAgICBpZihhcnJbc3RhcnRdK2FycltlbmRdPT1zdW0pewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oc3RhcnQrIi0tLS0tLS0tLS0iK2VuZCk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhcnJbc3RhcnRdKyItLS0tLS0iK2FycltlbmRdKTsKICAgICAgICAgICAgcmV0dXJuICB0cnVlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gaXNQYWlyUHJlc2VudChhcnIsIHN1bSwgc3RhcnQrMSwgZW5kKSB8fCBpc1BhaXJQcmVzZW50KGFyciwgc3VtLCBzdGFydCwgZW5kLTEpOwogICAgICAgIAogICAgfQogICAgCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlpbnRbXSBhcnIgPSB7IDgsIDcsIDIsIDUsIDMsIDEgfTsKCQlpbnQgc3VtID0gMTA7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKG5ldyBGaW5kUGFpcigpLmlzUGFpclByZXNlbnQoYXJyLCAxMCwgMCwgYXJyLmxlbmd0aCAtIDEpKTsKCX0KfQ==