 Bir dizi s verildiğinde, karakterleri tekrar etmeden en uzun alt dizenin uzunluğunu bulun. Örneğin, giriş dizgisi "abcabcbb" ise, tekrar eden karakterler içermeyen en uzun alt dizginin uzunluğu 3'tür (alt dizgi "abc" dir).
Bu sorunu çözmenin bir yolu kayan pencere yaklaşımı kullanmaktır. Her ikisi de dizenin başlangıcını gösteren i ve j olmak üzere iki işaretçiyle başlayın. j işaretçisini sağa hareket ettirin ve bir dizi kullanarak o ana kadar görülen karakterleri takip edin. Eğer j dizinindeki karakter kümede yoksa onu kümeye ekleyin ve devam edin. Karakter zaten kümedeyse, geçerli alt dizenin uzunluğunu kaydedin ve yinelenen karakter artık kümede kalmayana kadar i işaretçisini sağa hareket ettirin. Ardından j işaretçisini sağa doğru hareket ettirmeye devam edin. Dizenin sonuna ulaşılana kadar bu işlemi tekrarlayın. İşte bu yaklaşımı uygulayan bazı Python kodları: ``` def length_of_longest_substring(s): n = len(s) görüldü = set() i = j = en uzun = 0 while i < n and j < n: if s[j] not in found: see.add(s[j]) j += 1 en uzun = max(en uzun, j - i) else: see.remove(s[i]) i += 1 en uzun dönüş ``` Bu işlevi çalıştırıyor "abcabcbb" girişi ile beklendiği gibi 3 değerini döndürür.