Skip to content

Commit b893db3

Browse files
Merge pull request #1 from rvguradiya/add-new-problem
Determine if three numbers sum to a specified value k
2 parents 695e22a + 3a7a475 commit b893db3

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

problems/general/three_sum_to_k.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This problem was asked by **Microsoft**.
2+
3+
Given an array of numbers and a number `k`, determine if there are three entries in the array which add up to the specified number `k`. For example, given `[20, 303, 3, 4, 25]` and `k = 49`, return true as `20 + 4 + 25 = 49`.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
import javax.sound.midi.SysexMessage;
3+
4+
5+
public class Approach {
6+
7+
public static boolean isHaveSum(int []arr,int k,int sum,int i){
8+
if (sum == 0) {
9+
return true;
10+
} else if (i == arr.length || k == 0 || sum < 0) {
11+
return false;
12+
}
13+
14+
if (isHaveSum(arr, k - 1, sum - arr[i], i + 1) == true) {
15+
return true;
16+
} else {
17+
return isHaveSum(arr, k, sum, i + 1);
18+
}
19+
}
20+
public static void main(String[] args) {
21+
int []arr = {20,303,3,4,25};
22+
int k =3;
23+
int sum = 49;
24+
25+
System.out.println(isHaveSum(arr, k, sum, 0));
26+
}
27+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
let arr = [20, 303, 3, 4, 25];
2+
3+
function isArrayHaveSumOfK(k, sum, arr) {
4+
arr = arr;
5+
n = arr.length;
6+
function isArrayHaveSum(n, k, sum, i = 0) {
7+
if (sum == 0) {
8+
return true;
9+
} else if (i == n || k == 0 || sum < 0) {
10+
return false;
11+
}
12+
// console.log(k, sum, arr[i]);
13+
if (isArrayHaveSum(n, k - 1, sum - arr[i], i + 1) == true) {
14+
return true;
15+
} else {
16+
return isArrayHaveSum(n, k, sum, i + 1);
17+
}
18+
}
19+
return isArrayHaveSum(n, k, sum, 0);
20+
}
21+
22+
console.log(isArrayHaveSumOfK(3, 49, arr));

0 commit comments

Comments
 (0)