diff --git a/DIRECTORY.md b/DIRECTORY.md index acbef75630d2..e50e18eaf647 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -211,6 +211,3 @@ * [ShellSort](https://github.com/TheAlgorithms/Java/blob/master/Sorts/ShellSort.java) * [SortAlgorithm](https://github.com/TheAlgorithms/Java/blob/master/Sorts/SortAlgorithm.java) * [SortUtils](https://github.com/TheAlgorithms/Java/blob/master/Sorts/SortUtils.java) - -## Strings - * [ZFunction](https://github.com/TheAlgorithms/Java/blob/master/Strings/ZFunction.java) diff --git a/Strings/ZFunction.java b/Strings/ZFunction.java deleted file mode 100644 index f9ca97d6b24d..000000000000 --- a/Strings/ZFunction.java +++ /dev/null @@ -1,33 +0,0 @@ -// Initialisation of strings algorithm Z function -// detailed review and proper examples can be seen on the link bewlow -// -// Link of algorithm review: https://www.geeksforgeeks.org/z-algorithm-linear-time-pattern-searching-algorithm/ -package Strings; - -public class ZFunction { - private String string; - - public ZFunction(String string){ - this.string = string; - } - - public int[] getArray(){ - int length = string.length(); - int[] z = new int[length]; - int l = 0, r = 0; - for (int i=0; i l && i <= r){ - z[i] = Math.min(z[i - l], r - i + 1); - } - while (i + z[i] < length && string.charAt(z[i]) == string.charAt(i + z[i])){ - z[i]++; - } - if (i + z[i] > r){ - l = i; - r = i + z[i] - 1; - } - } - - return z; - } -}