Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosAndroid Police: Samsung is smashing records! #shorts #tech #phones(21.09.2026 um 13:55 Uhr)
YouTube Security Videosheise & c't: Bundesnetzagentur wollte diesen Futterautomaten verbieten(21.09.2026 um 13:53 Uhr)
YouTube Security VideosNeil Patel: Your Google Traffic Isn't An Asset It's A Loan #shorts(21.09.2026 um 14:05 Uhr)
Windows Tipps & SecurityF-14 A Tomcat Top Gun endlich als Revell Klemmbausteinmodell erhältlich(21.09.2026 um 14:27 Uhr)
Sichere ProgrammierungShow the Hand-Back Sample Before Approving an Agent Score(21.09.2026 um 14:15 Uhr)
Sichere ProgrammierungHybrid retrieval in one Postgres query: RRF over tsvector + pgvector(21.09.2026 um 14:15 Uhr)
YouTube Security VideosAndroid Police: Samsung is smashing records! #shorts #tech #phones(21.09.2026 um 13:55 Uhr)
YouTube Security Videosheise & c't: Bundesnetzagentur wollte diesen Futterautomaten verbieten(21.09.2026 um 13:53 Uhr)
YouTube Security VideosNeil Patel: Your Google Traffic Isn't An Asset It's A Loan #shorts(21.09.2026 um 14:05 Uhr)
Windows Tipps & SecurityF-14 A Tomcat Top Gun endlich als Revell Klemmbausteinmodell erhältlich(21.09.2026 um 14:27 Uhr)
Sichere ProgrammierungShow the Hand-Back Sample Before Approving an Agent Score(21.09.2026 um 14:15 Uhr)
Sichere ProgrammierungHybrid retrieval in one Postgres query: RRF over tsvector + pgvector(21.09.2026 um 14:15 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Z Function

Intuition The Z Algorithm is used to find all occurrences of a pattern in a text in linear time. The main idea is to avoid comparing the same characters repeatedly. Instead of checking every position from scratch, the algorithm…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Intuition



The Z Algorithm is used to find all occurrences of a pattern in a text in linear time.



The main idea is to avoid comparing the same characters repeatedly.



Instead of checking every position from scratch, the algorithm remembers a range called the Z-Box.




Z-Box = [L, R]






This is the segment where we already know the substring matches the prefix of the string.



For every new index:




  • If it lies outside the Z-Box, compare characters normally.

  • If it lies inside the Z-Box, reuse previously computed values instead of comparing again.



This avoids redundant comparisons and makes the algorithm run in O(N) time.









Brute Force Approach



For every index i,



compare the substring starting at i with the prefix of the string character by character.



Example




String

aabcaabxaaaz

Index = 4

Compare

aabxaaaz

with

aabcaabxaaaz






Keep matching until characters differ.



Repeat this process for every index.






Complexity





  • Time: O(N²)


  • Space: O(1)









Optimal Approach (Z Algorithm)






Observation



Many comparisons are repeated.



Instead of recomputing them,



maintain a Z-Box.




[L, R]






where




s[L...R]

=

s[0...R-L]






For every index:






Case 1: Outside Z-Box






i > R






Start matching from scratch.



Expand the Z-Box as far as possible.









Case 2: Inside Z-Box






i <= R






Reuse the previously computed value.



Mirror index




k = i - L






If




Z[k] < R-i+1






then simply copy




Z[i] = Z[k]






Otherwise,



continue matching beyond R and update the Z-Box.









Pattern Matching



To search a pattern,



create a new string:




Pattern + "$" + Text






Example




Pattern

abc

Text

xyzabcabc

Combined

abc$xyzabcabc






Compute the Z-array.



Whenever




Z[i] == Pattern Length






the pattern is found.









Java Code






public static int[] zFunction(String s) {

int n = s.length();
int[] z = new int[n];

int l = 0, r = 0;

for (int i = 1; i < n; i++) {

if (i <= r) {
z[i] = Math.min(r - i + 1, z[i - l]);
}

while (i + z[i] < n &&
s.charAt(z[i]) == s.charAt(i + z[i])) {
z[i]++;
}

if (i + z[i] - 1 > r) {
l = i;
r = i + z[i] - 1;
}
}

return z;
}









Complexity





  • Time: O(N)


  • Space: O(N)




Interview One-Liner: The Z Algorithm computes the longest prefix match starting from every index using a Z-Box (L, R) to reuse previous computations, enabling linear-time pattern matching.


Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Z Function

Thematisch verwandte Begriffe: Function · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94097 | A vulnerability was determined in Netcore NBR200V2 1.3.241127.071246. Th…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick