If the values of the array can form one or two numerical sequences then return 1 otherwise return 0.
For example the array [2,1,2,3] should return 1 when the array [4,1,3] should return 0.
Assume that:
- N is an integer within the range [1..100,000];
- each element of array A is an integer within the range [1..1,000,000,000].
import java.util.*; class Algo { public boolean isEmptyArray(int[] Arr ){ if ( Arr == null || Arr.length == 0) { return true; } return false; } public int algo(int[] A) { if (isEmptyArray(A)) return 0; Arrays.sort(A); if (A[0] != 1) return 0; int value = A.length; int lastValue = A[A.length -1]; if ( value == lastValue ) { for(int i=0 ; i < A.length -1; i++ ){ if (!(A[i+1] == i+1 || A[i+1] == i+2)) { return 0; } } return 1; } return 0; } }