-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPairsum1.java
More file actions
50 lines (46 loc) · 1.35 KB
/
Copy pathPairsum1.java
File metadata and controls
50 lines (46 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.util.ArrayList;
public class Pairsum1 {
//brute force approach
// public static void pairSum(ArrayList <Integer> list, int target){
// for(int i = 0; i< list.size();i++){
// for(int j = i+1; j<list.size() ;j++){
// int sum = list.get(i) + list.get(j);
// if(target == sum){
// System.out.println("("+i+","+j+")" );
// return;
// //break
// }
// }
// }
// }
//optimised approach
public static boolean pairSum(ArrayList <Integer> list, int target){
int i= 0, j = list.size()-1;
while(i < j){
if(list.get(i) + list.get(j) == target){
return true;
}
else if(list.get(i) + list.get(j) < target){
i++;
}else{
j--;
}
}
return false;
}
public static void main(String args[]){
ArrayList <Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
int target = 40;
if(pairSum(list, target)){
System.out.println("pair exists...");
}else{
System.out.println("better luck next time...");
}
}
}