Melad.Raouf
BAN USERhere is the solution test it with System.err.println(Arrays.toString(generateProbality(65, 100)));
public static int[] generateProbality(int n, int max) {
if (n > max)
return null;
int[] result = new int[max];
for (int i = 0; i < result.length; i++) {
result[i] = 0;
}
Random random = new Random();
for (int i = 0; i < n; i++) {
int index = random.nextInt(max);
if (result[index] == 0) {
result[index] = 1;
} else
i--;
}
return result;
}
The simplest solution is java is as below it is on lg(n) where n is the array length:
public static int findLeastDiff(int n, int arr[]) {
int start = 0;
int end = arr.length - 1;
int mid = (end + start) / 2;
while (end - start > 1 ) {
int rightDiff = Math.abs(arr[mid] - n);
int leftDiff = Math.abs(arr[mid - 1] - n);
if (rightDiff < leftDiff) {
start = mid;
} else if (rightDiff > leftDiff) {
end = mid;
} else
break;
mid = (end + start) / 2;
}
return arr[mid];
}
The simplest solution
public static void generate(String input, int start, String resutl) {
if (start >= input.length()) {
System.out.println(resutl);
return;
}
int firstNumber = Integer.parseInt(input.substring(start, start + 1));
String newResult = resutl + (char) (firstNumber + 96);//96 is the asci code
generate(input, start + 1, newResult);
if (start <= input.length() - 2) {
int secondNumber = Integer.parseInt(input.substring(start, start + 2));
newResult = resutl + (char) (secondNumber + 96);
generate(input, start + 2, newResult);//96 is the asci code
}
}
public class RemoveComments {
private static boolean inComment;
public static String removeComment(String input) {
if (inComment) {
int commentEndIndex = input.indexOf("*/");
if (commentEndIndex == -1)
return "";
inComment = false;
return removeComment(input.substring(commentEndIndex+2));
}
int commentStartIndex = input.indexOf("/*");
if (commentStartIndex != -1) {
inComment=true;
return input.substring(0, commentStartIndex) + removeComment(input.substring(commentStartIndex));
}
return input;
}
It is an Edit distance problem.
The only one edit distance operation we are looking for is the remove operation.
- Melad.Raouf January 10, 2018