TypeScript'te Monoids kullanarak Parantez Dengeleme

Kaynak :https://codesandbox.io/s/parenthesis-balancing-usingmonoids-8ktvs

Parantez Dengeleme sorunu, şunu söyleyen klasik bir sorundur:

Bir ifade dizesi exp verildiğinde, "(", ")" çiftlerinin ve emirlerinin exp içinde doğru olup olmadığını incelemek için bir program yazın.

yani bu (()()()())dengeli ama bu ()))değil

Bu yazıda bunu Typescript ve önceki makaledeki monoidleri kullanarak işlevsel bir şekilde çözeceğiz.

TypeScript'te Monoidler

sol uç sağ değerlerin sayısını tutacak basit bir denge türü tanımlayacağız.

bu şaşırtıcı bir şekilde bir monoid oluşturur. Çünkü iki Balance nesnesini birleştirip yeni bir denge elde edebiliyoruz.

Umarım bu, fikrin geri kalanını açık hale getirir.

  1. dizeyi bir karakter dizisine böleceğiz
  2. sonra her karakteri bir dengede dönüştüreceğiz (ayrıştırma)
  3. ve sonra Balance monoid ile diziyi küçülteceğiz.

böylece nihayet hesaplamayı şöyle yazabiliriz:

tam komut dosyasını burada çalıştırın

Suggested posts

En çok kullandığım kodlama kaynaklarım

En çok kullandığım kodlama kaynaklarım

Bu hafta, günlük e-posta listesinin bir üyesinden bir e-posta aldım. Bilmek istediler: Günlük, haftalık ve aylık olarak hangi kaynakları ziyaret ediyorsunuz? Harika soru! İş akışım ve kullandığım en önemli kaynaklar hakkında bazı bilgileri paylaşmaya çalışmaktan mutluluk duyuyorum.

Lit library serisi — 1: lit-html Kitaplığına Derin Bir Dalış

Lit library serisi — 1: lit-html Kitaplığına Derin Bir Dalış

Bu blog dizisinin amacı, Lit kitaplığının derinliklerine inmek ve benzersiz özelliklerini ve kendisini piyasadaki diğer kitaplıklardan ve çerçevelerden nasıl ayırdığını kapsamlı bir şekilde anlamaktır. Seri, 1 gibi konuları kapsayan üç bölüme ayrılmıştır.

Related posts

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

Giriş: Cesur okuyucular, bizi gezegenimizin en karanlık derinliklerine götürecek bir yolculuğa hoş geldiniz. Bu blogda, Mariana Çukuru'nun esrarengiz dünyasına dalıyor, onun gizli sırlarını açığa çıkarıyor ve yüzeyinin altında yatan tüyler ürpertici gerçekleri ortaya çıkarıyoruz.

O Tehdit Arşivi: Cilt 7 Black Basta

O Tehdit Arşivi: Cilt 7 Black Basta

Günümüzün birbirine bağlı dünyasında, siber saldırı tehdidi her zamankinden daha yaygın. Siber suçlular ve ulus-devlet aktörleri sürekli olarak güvenlik açıklarından yararlanmaya ve değerli verileri çalmaya çalışarak her büyüklükteki kuruluş için önemli bir risk oluşturuyor.

Goodreads Okuma Yarışması Zehirlidir

Goodreads Okuma Yarışması Zehirlidir

Elimdeki kaşıntı, yerel kitapçıyla başka bir kitap için pazarlık yaparken yayıldı. Son zamanlarda satın aldığım diğerleri gibi bu kitap da tahtını 'Okunacak' (TBR) yığınımda bulacaktı; ve yine de satın aldım.

kovboy yalanı

Mega şirketler Amerikalılara nasıl büyük bir yalan sattı?

kovboy yalanı

Güneşin ilk ışınları düzlüklerdeki buzlu çimleri aydınlatırken, batının engebeli tepelerinde parıldayan altın rengi bir sabah. Simsiyah ve iri, sakin bir Angus sığır sürüsü, hepsinin iyi bildiği bir yere giden ıssız bir patikadan aşağı inerken güneşin doğuşuna karşı siluet oluşturuyor; kahvaltı barı.