mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-26 22:14:08 +08:00
@ -33,12 +33,11 @@ class LowerBound implements SearchAlgorithm {
|
||||
int size = 100;
|
||||
int maxElement = 100000;
|
||||
|
||||
Integer[] integers = IntStream
|
||||
.generate(() -> r.nextInt(maxElement))
|
||||
.limit(size)
|
||||
.sorted()
|
||||
.boxed()
|
||||
.toArray(Integer[]::new);
|
||||
Integer[] integers = IntStream.generate(() -> r.nextInt(maxElement))
|
||||
.limit(size)
|
||||
.sorted()
|
||||
.boxed()
|
||||
.toArray(Integer[] ::new);
|
||||
|
||||
// The element for which the lower bound is to be found
|
||||
int val = integers[r.nextInt(size - 1)] + 1;
|
||||
@ -46,16 +45,12 @@ class LowerBound implements SearchAlgorithm {
|
||||
LowerBound search = new LowerBound();
|
||||
int atIndex = search.find(integers, val);
|
||||
|
||||
System.out.printf(
|
||||
"Val: %d. Lower Bound Found %d at index %d. An array length %d%n",
|
||||
val,
|
||||
integers[atIndex],
|
||||
atIndex,
|
||||
size
|
||||
);
|
||||
System.out.printf("Val: %d. Lower Bound Found %d at index %d. An array length %d%n", val,
|
||||
integers[atIndex], atIndex, size);
|
||||
|
||||
boolean toCheck = integers[atIndex] >= val || integers[size - 1] < val;
|
||||
System.out.printf("Lower Bound found at an index: %d. Is greater or max element: %b%n", atIndex, toCheck);
|
||||
System.out.printf(
|
||||
"Lower Bound found at an index: %d. Is greater or max element: %b%n", atIndex, toCheck);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -78,12 +73,7 @@ class LowerBound implements SearchAlgorithm {
|
||||
* @param right The upper bound
|
||||
* @return the location of the key
|
||||
*/
|
||||
private <T extends Comparable<T>> int search(
|
||||
T[] array,
|
||||
T key,
|
||||
int left,
|
||||
int right
|
||||
) {
|
||||
private <T extends Comparable<T>> int search(T[] array, T key, int left, int right) {
|
||||
if (right <= left) {
|
||||
return left;
|
||||
}
|
||||
|
Reference in New Issue
Block a user