Bir parantez dizisinin geçerli olup olmadığını kontrol edin: "({[]})"

Cevap

Stack kullanılır. Açılan parantezi stack'e koyun; kapanan parantez gelince stack'in tepesi eşleşmiyorsa geçersizdir. Sonda stack boş olmalıdır. O(n) zaman.

function gecerli(s) {
  const es = { ")": "(", "]": "[", "}": "{" };
  const st = [];
  for (const c of s) {
    if ("([{".includes(c)) st.push(c);
    else if (st.pop() !== es[c]) return false;
  }
  return st.length === 0;
}
  1. Binary search'ün zaman karmaşıklığı nedir ve neden?KolayAlgoritmalar & Veri YapılarıYazılım Müh.
  2. Two Sum: toplamı hedefe eşit olan iki elemanın indekslerini bulun.KolayAlgoritmalar & Veri YapılarıYazılım Müh.
  3. Tek yönlü bağlı listeyi ters çevirin.OrtaAlgoritmalar & Veri YapılarıYazılım Müh.
  4. BFS ve DFS arasındaki fark nedir? Hangisini ne zaman kullanırsınız?OrtaAlgoritmalar & Veri YapılarıYazılım Müh.
  5. get ve put işlemleri O(1) olan bir LRU Cache tasarlayın.ZorAlgoritmalar & Veri YapılarıYazılım Müh.

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle