Given an array, find a Noble integer in it.

**Noble Integer**

An integer x is said to be Noble in an array if the number of integers greater than x is equal to x. If there are many Noble integers, return any of them. If there is no, then return -1.

private static int findNobleInteger(int[] array) {

int noble = -1;

/**Sort the array. */

Arrays.

*sort*(array);
int length = array.length;

for (int i = 0; i < length; i++) {

if (array[i] == array[i+1]) {

continue;

}

/**Check wheter the small number count is greater than number.*/

if(array[i]<length-i) {

noble = array[i];

break;

}

}

return noble;

}

## No comments:

## Post a Comment