Skip to content

604. Design Compressed String Iterator #159

@altay9

Description

@altay9

Şifrelenmiş bir metin veriliyor. Şifreleme işlemi, bir harfin kaç kere tekrâr edildiğine dâir sayının, harfin yanına eklenmesi ile yapılmış.
Bu şifrelenmiş metinde gezmek için kullanılacak bir Iterator yazmamız isteniyor.
Iterator; hasNext() ile daha gezilebilecek bir karakter olup olmadığını söyleyecek, next() çağrıldığında ise bir sonraki karakteri verecek.

Varsayılan kod:

class StringIterator {

    public StringIterator(String compressedString) {
        
    }
    
    public char next() {
        
    }
    
    public boolean hasNext() {
        
    }
}

Not: Aşağıda verilen örnek kısmen yanıltıcı olabilir. Çünkü harflerin yanında hep rakamlar var. Yani sanki harf 20 veya 200 gibi sayılarla da tekrar edemezmiş gibi bir izlenim oluşuyor.
Ama 10^9 (on üzeri 9) kez tekrâr edebileceği constraints kısmında belirtilmiş.

image
image

(Java çözümü: https://github.com/spiralgo/algorithms/blob/master/src/main/java/algorithms/curated170/easy/DesignCompressedStringIterator.java)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions