Problem Description
Given an array of real numbers greater than zero in form of strings. Find if there exists a triplet (a,b,c) such that 1 < a+b+c < 2. Return 1 for true or 0 for false.
O(n) solution is expected.
Note: You can assume the numbers in strings don't overflow the primitive data type and there are no leading zeroes in numbers. Extra memory usage is allowed.
Problem Constraints
1 <= |A| <= 106
Input Format
The first argument is an array of strings A.
Output Format
Return an integer, 1 for true or 0 for false.
Example Input
A = ["0.6", "0.7", "0.8", "1.2", "0.4"]
Example Output
1
Example Explanation
Given [0.6, 0.7, 0.8, 1.2, 0.4],
You should return 1
as
0.6+0.7+0.4=1.7
1<1.7<2
Hence, the output is 1.
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified.
Still have a question? Checkout Sample Codes for more details.