{"id":8710,"date":"2025-01-05T16:45:14","date_gmt":"2025-01-05T13:45:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/"},"modified":"2025-01-05T16:45:14","modified_gmt":"2025-01-05T13:45:14","slug":"leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/","title":{"rendered":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc"},"content":{"rendered":"<p><body><\/p>\n<p>LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc<\/p>\n<p>Bu makalede, LeetCode&#8217;un 30. problem olan &#8220;T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize&#8221; problemini ele alaca\u011f\u0131z.  Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir.  \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim.  Sonras\u0131nda ise,  JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz.  Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak,  karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.<\/p>\n<h2>Problem Tan\u0131m\u0131<\/h2>\n<p>Problem \u015fu \u015fekilde \u00f6zetlenebilir: Verilen bir <code>s<\/code> metin dizesi ve bir <code>words<\/code> kelime dizisi vard\u0131r.  <code>words<\/code> dizisindeki t\u00fcm kelimelerin,  <code>s<\/code> dizesinde,  ard\u0131\u015f\u0131k ve ayn\u0131 s\u0131rayla yer alan bir alt dize olup olmad\u0131\u011f\u0131n\u0131 bulmam\u0131z gerekiyor.   \u00d6rne\u011fin, <code>s = \"barfoothefoobarman\"<\/code> ve <code>words = [\"foo\",\"bar\"]<\/code> ise,  \u00e7\u0131kt\u0131 <code>[0,9]<\/code> olmal\u0131d\u0131r, \u00e7\u00fcnk\u00fc &#8220;foobar&#8221; ve &#8220;barfoo&#8221; alt dizeleri <code>s<\/code> dizesinde yer almaktad\u0131r.<\/p>\n<h2>\u00c7\u00f6z\u00fcm Y\u00f6ntemi<\/h2>\n<p>Bu problemi \u00e7\u00f6zmek i\u00e7in,  slayt pencere tekni\u011fini (sliding window) kullanaca\u011f\u0131z. Bu teknik, belirli bir pencere boyutunda dizi \u00fczerinde yineleme yaparak,  performans\u0131 art\u0131rmam\u0131z\u0131 sa\u011flar.  \u00d6ncelikle, her kelimenin uzunlu\u011funu belirleyece\u011fiz. Ard\u0131ndan,  slayt penceresi ile <code>s<\/code> dizesi \u00fczerinde yineleme yapaca\u011f\u0131z. Her yinelemede, pencere i\u00e7indeki alt dizeyi, <code>words<\/code> dizisiyle kar\u015f\u0131la\u015ft\u0131raca\u011f\u0131z.  E\u015fle\u015fme durumunda,  alt dizeyi i\u00e7eren indeksi d\u00f6nd\u00fcrece\u011fiz.  B\u00f6ylece,  t\u00fcm kelimelerin birle\u015fimini i\u00e7eren alt dizelerin ba\u015flang\u0131\u00e7 indekslerini bulabiliriz.  Bu yakla\u015f\u0131m,  brute-force y\u00f6ntemine g\u00f6re \u00e7ok daha verimli olacakt\u0131r.<\/p>\n<h2>JavaScript Kodu<\/h2>\n<pre><code>\nfunction findSubstring(s, words) {\n  const wordLength = words[0].length;\n  const totalLength = wordLength * words.length;\n  const result = [];\n  const wordCount = {};\n\n  for (const word of words) {\n    wordCount[word] = (wordCount[word] || 0) + 1;\n  }\n\n  for (let i = 0; i <= s.length - totalLength; i++) {\n    const window = {};\n    let j = 0;\n    while (j < words.length) {\n      const word = s.substring(i + j * wordLength, i + (j + 1) * wordLength);\n      if (!wordCount[word] || window[word] === wordCount[word]) {\n        break;\n      }\n      window[word] = (window[word] || 0) + 1;\n      j++;\n    }\n    if (j === words.length) {\n      result.push(i);\n    }\n  }\n  return result;\n}\n\n<\/code><\/pre>\n<h2>Kod A\u00e7\u0131klamas\u0131<\/h2>\n<p>Kod, \u00f6ncelikle her kelimenin uzunlu\u011funu ve toplam uzunlu\u011fu hesaplar. Sonra,  <code>words<\/code> dizisindeki kelimeleri ve say\u0131lar\u0131n\u0131 bir nesnede depolar.  D\u00f6ng\u00fc i\u00e7erisinde, slayt pencere tekni\u011fi ile <code>s<\/code> dizesi \u00fczerinde yineleme yapar.  Her yinelemede, pencere i\u00e7indeki alt dizeyi, <code>words<\/code> dizisiyle kar\u015f\u0131la\u015ft\u0131r\u0131r. E\u015fle\u015fme durumunda, alt dizeyi i\u00e7eren indeksi <code>result<\/code> dizisine ekler.  Son olarak, <code>result<\/code> dizisini d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h2>Performans Analizi<\/h2>\n<p>Bu \u00e7\u00f6z\u00fcm\u00fcn zaman karma\u015f\u0131kl\u0131\u011f\u0131 O(n*m) , burada n, s dizesinin uzunlu\u011fu ve m, words dizisinin uzunlu\u011fudur.  Bu, brute-force y\u00f6ntemine g\u00f6re \u00e7ok daha verimlidir.  Bellek karma\u015f\u0131kl\u0131\u011f\u0131 ise O(m) d\u00fczeyindedir,  \u00e7\u00fcnk\u00fc words dizisini bir nesneye kaydediyoruz.  Genel olarak, bu \u00e7\u00f6z\u00fcm,  LeetCode'un 30. problemine etkili bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, LeetCode'un 30. problem olan \"T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize\" problemini JavaScript kullanarak \u00e7\u00f6z\u00fcmledik.  Slayt pencere tekni\u011fi ile y\u00fcksek performansl\u0131 bir algoritma geli\u015ftirdik.  Umar\u0131m bu makale,  bu zorlu problemi anlaman\u0131za ve \u00e7\u00f6zmenize yard\u0131mc\u0131 olmu\u015ftur.  Daha fazla algoritma ve problem \u00e7\u00f6z\u00fcm\u00fc i\u00e7eri\u011fi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresini ziyaret edebilirsiniz. Ayr\u0131ca,  konu ile ilgili daha fazla bilgi i\u00e7in  <a href=\"https:\/\/dev.to\/rahulgithubweb\/leetcode-challenge-30-substring-with-concatenation-of-all-words-javascript-solution-2m1f\">buray\u0131<\/a> inceleyebilirsiniz.<\/p>\n<p>#Etiketler: LeetCode, JavaScript, Algoritma, Programlama, \u00c7\u00f6z\u00fcm, Alt Dize, Substring, Kelime Birle\u015ftirme, Problem \u00c7\u00f6zme, Sliding Window, FatihSoysal<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc Bu makalede, LeetCode&#8217;un 30. problem olan &#8220;T\u00fcm Kelimelerin&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-8710","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc<\/title>\n<meta name=\"description\" content=\"Bu makalede, LeetCode&#039;un 30. problem olan &quot;T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize&quot; problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc\" \/>\n<meta property=\"og:description\" content=\"Bu makalede, LeetCode&#039;un 30. problem olan &quot;T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize&quot; problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-05T13:45:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc\",\"datePublished\":\"2025-01-05T13:45:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\"},\"wordCount\":490,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\",\"name\":\"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-01-05T13:45:14+00:00\",\"description\":\"Bu makalede, LeetCode'un 30. problem olan \\\"T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize\\\" problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc","description":"Bu makalede, LeetCode'un 30. problem olan \"T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize\" problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/","og_locale":"tr_TR","og_type":"article","og_title":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc","og_description":"Bu makalede, LeetCode'un 30. problem olan \"T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize\" problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.","og_url":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-01-05T13:45:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"1 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc","datePublished":"2025-01-05T13:45:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/"},"wordCount":490,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/","url":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/","name":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize - JavaScript \u00c7\u00f6z\u00fcm\u00fc","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-01-05T13:45:14+00:00","description":"Bu makalede, LeetCode'un 30. problem olan \"T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize\" problemini ele alaca\u011f\u0131z. Bu problem, verilen bir metin dizesi i\u00e7inde, belirli bir kelime dizisinin t\u00fcm kelimelerini i\u00e7eren ard\u0131\u015f\u0131k bir alt dize bulmay\u0131 gerektirir. \u00d6ncelikle problemi daha iyi anlamak i\u00e7in bir \u00f6rnek inceleyelim. Sonras\u0131nda ise, JavaScript kullanarak y\u00fcksek performansl\u0131 bir \u00e7\u00f6z\u00fcm geli\u015ftirece\u011fiz. Ayr\u0131ca, kodun i\u015fleyi\u015fini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, karma\u015f\u0131kl\u0131\u011f\u0131 azaltmay\u0131 hedefleyece\u011fiz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/leetcode-30-tum-kelimelerin-birlesimiyle-alt-dize-javascript-cozumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"LeetCode 30: T\u00fcm Kelimelerin Birle\u015fimiyle Alt Dize &#8211; JavaScript \u00c7\u00f6z\u00fcm\u00fc"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=8710"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8710\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=8710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=8710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=8710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}