Takip et

JavaScript ile Palindromik Permütasyon Kontrolü

JavaScript ile Palindromik Permütasyon Kontrolü

Bugün, JavaScript kullanarak bir kelimenin veya cümlenin palindromik permütasyonlara sahip olup olmadığını kontrol etmenin çeşitli yollarını inceleyeceğiz. Öncelikle, palindromik permütasyonun ne anlama geldiğini açıklayalım. Bir palindrom, tersten okunduğunda da aynı olan bir kelimedir veya cümledir (“ada”, “kayak” gibi). Bir kelimenin palindromik permütasyonlara sahip olması ise, harflerinin yeniden düzenlenmesiyle en az bir palindrom oluşturulabileceği anlamına gelir.

Örnek: “aabc” kelimesinin palindromik permütasyonları vardır çünkü harfleri “aaba”, “abaa”, “baaa” gibi palindromlar oluşturmak için yeniden düzenlenebilir. Ancak “abc” kelimesinin palindromik permütasyonları yoktur, çünkü harfleri hiçbir şekilde palindrom oluşturmaz.

Yöntem 1: Karakter Sayımı

En etkili yöntem, her karakterin sayısını saymaktır. Eğer bir kelimenin yalnızca bir veya hiçbir karakteri tek sayıda tekrarlanıyorsa, o kelime palindromik permütasyonlara sahiptir. Nedeni ise, tek sayıda tekrarlanan karakterler palindromun ortasına yerleştirilebilirken diğerleri çiftler halinde yan yana dizilebilir.


function hasPalindromicPermutation(str) {
  const charCount = {};
  for (const char of str) {
    charCount[char] = (charCount[char] || 0) + 1;
  }
  let oddCount = 0;
  for (const count of Object.values(charCount)) {
    if (count % 2 !== 0) {
      oddCount++;
    }
  }
  return oddCount <= 1;
}

console.log(hasPalindromicPermutation("aabc")); // true
console.log(hasPalindromicPermutation("abc"));  // false

Bu kod, her karakterin sayısını takip eden bir nesne kullanır. Sonrasında, tek sayıda bulunan karakterlerin sayısını kontrol eder. Tek sayıda karakter sayısı 1'den fazla değilse, fonksiyon true döndürür; aksi takdirde false döndürür.

Yöntem 2: Bit Maskeleme (Daha Az Okunabilir, Daha Hızlı)

Daha gelişmiş bir yöntem, bit maskeleme tekniğini kullanmaktır. Bu yöntem, karakter sayımına göre daha az okunabilir olsa da daha hızlıdır. Her karakteri bir bit ile temsil eder ve bitleri bir sayıya yansıtır. Sonrasında, sayının ikili gösteriminde kaç tane 1 olduğunu sayar.

Bu yöntem, özellikle büyük girdiler için daha verimli olabilir, ancak kod okunabilirliği açısından önceki yönteme göre dezavantajlıdır. Bu yüzden, projenizin ihtiyaçlarına göre en uygun yöntemi seçmeniz önemlidir.

Sonuç olarak, palindromik permütasyon kontrolü, çeşitli algoritmalar kullanılarak yapılabilir. Seçtiğiniz yöntem, kodunuzun okunabilirliği ve performans gereksinimlerine bağlı olacaktır. Daha detaylı bilgi ve diğer JavaScript çözümleri için kendi web sitemi ziyaret edebilirsiniz. Ayrıca, bu konuda daha fazla bilgi edinmek için bu kaynağı inceleyebilirsiniz.

#Etiketler: javascript, palindrom, permütasyon, algoritma, programlama, kodlama, örnek, çözüm, fatihsoysal


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık