public int numberToExit(int total, int interval) { boolean[] arr = new boolean[total]; for(int i = 0; i < arr.length; i++) { arr[i] = true; } int left = arr.length; int count = 0; int index = 0; while (left > 1) { if(arr[index] == true) { count++; if(count == 3) { count = 0; arr[index] = false; left--; } } // we need to change the index if out of range. index++; if(index == arr.length) { index = 0; } } for(int i = 0;i < arr.length; i++) { if(arr[i] == true) { return i+1; } } return -1; } |
|