Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding
Ninjas X Naukri.com

Problem of the day

You are given an array/list 'ARR' of ‘N’ integers and an integer value ‘TARGET’. You need to check whether there exist four numbers (ARR[i], ARR[j], ARR[k], ARR[l]) such that (0 <= i < j < k < l < N) and ARR[i] + ARR[j] + ARR[k] + ARR[l] = 'TARGET'.

```
1. All four numbers should exist at different indices in the given array.
2. The answer is case-sensitive.
```

Detailed explanation

```
1 <= T <= 10^2
4 <= N <= 2*10^2
-10^9 <= ARR[i] <= 10^9
-10^9 <= TARGET<= 10^9
Time Limit: 1 sec
```

Follow Up:

```
Can you try solving the problem with less than O(N^2 * log(N)) time complexity?
```

```
2
5 9
1 3 3 10 2
6 20
2 4 6 3 1 1
```

```
Yes
No
```

```
Test case 1:
The elements at indices (0, 1, 2, 4) gives sum 9 i.e, ARR[0] + ARR[1] + ARR[2] + ARR[4] = 9. Hence the answer is Yes.
Test case 2:
None of the combinations of 4 numbers gives 20 as 'TARGET'. Hence the answer is No.
```

```
2
5 15
0 10 1 2 2
6 20
-2 12 -1 1 20 1
```

```
Yes
Yes
```