Skip to content

Instantly share code, notes, and snippets.

@RitamChakraborty
Last active July 29, 2019 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RitamChakraborty/15f3653f413d21b04e62ceb199032ec4 to your computer and use it in GitHub Desktop.
Save RitamChakraborty/15f3653f413d21b04e62ceb199032ec4 to your computer and use it in GitHub Desktop.
Floyd-Warshall Algorithm in Java
import java.util.Arrays;
import java.util.Collections;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class FloydWarshallAlgorithm {
public static void main(String[] args) {
int[][] arr = new int[4][4];
IntStream.range(0, 4).boxed().forEach(i -> {
arr[i][i] = 0;
});
arr[0][1] = 3;
arr[0][2] = Short.MAX_VALUE;
arr[0][3] = 7;
arr[1][0] = 8;
arr[1][2] = 2;
arr[1][3] = Short.MAX_VALUE;
arr[2][0] = 5;
arr[2][1] = Short.MAX_VALUE;
arr[2][3] = 1;
arr[3][0] = 2;
arr[3][1] = Short.MAX_VALUE;
arr[3][2] = Short.MAX_VALUE;
int max = Collections.max(Stream.of(arr).map(a ->
Collections.max(Arrays.stream(a).boxed().collect(Collectors.toList())))
.collect(Collectors.toList())) + 1;
// System.out.println(Arrays.deepToString(arr));
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++ ) {
for (int k = 0; k < 4; k++) {
if ((i != j) && (i != k)) {
int num = arr[j][i] + arr[i][k];
if (num < arr[j][k]) {
arr[j][k] = num;
}
}
}
}
// System.out.println(Arrays.deepToString(arr));
}
Arrays.stream(arr).forEach(a -> System.out.println(Arrays.toString(a)));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment