{"id":232109,"date":"2023-01-20T18:58:00","date_gmt":"2023-01-20T15:58:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232109"},"modified":"2023-02-05T13:18:19","modified_gmt":"2023-02-05T10:18:19","slug":"algoritm-sonade-paksuks-muutmiseks-html-is","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/algoritm-sonade-paksuks-muutmiseks-html-is\/","title":{"rendered":"Algoritm s\u00f5nade paksuks muutmiseks HTML-is"},"content":{"rendered":"<blockquote>\n<p>V\u00f5ttes arvesse m\u00e4rks\u00f5nade komplekti s\u00f5nad ja stringi S, muutke k\u00f5ik m\u00e4rks\u00f5nad S paksus kirjas. <strong>K\u00f5ik ja<\/strong> siltide vahel olevad t\u00e4hed muutuvad paksuks.<\/p>\n<p>Tagastatud string peaks kasutama v\u00f5imalikult v\u00e4he silte ja loomulikult peaksid sildid moodustama kehtiva kombinatsiooni.<\/p>\n<p>N\u00e4iteks kui s\u00f5nad = [&quot;ab&quot;, &quot;bc&quot;] ja S = &quot;aabcd&quot;, peaksime tagastama &quot;a <strong>abc<\/strong> d&quot;. Pange t\u00e4hele, et &quot;a <strong>a<em><\/em><\/strong> b<em><\/em>cd&quot; tagastamine kasutaks rohkem silte, nii et see on vale.<\/p>\n<p>M\u00e4rge:<\/p>\n<ul>\n<li>s\u00f5nade pikkus on vahemikus [0, 50].<\/li>\n<li>s\u00f5nade [i] pikkus on vahemikus [1, 10].<\/li>\n<li>S pikkus on vahemikus [0, 500].<\/li>\n<li>K\u00f5ik s\u00f5nades [i] ja S olevad m\u00e4rgid on v\u00e4iket\u00e4hed.<\/li>\n<\/ul>\n<\/blockquote>\n<h3>Tehke string paksuks, kasutades Bruteforce&#8217;i algoritmi<\/h3>\n<p>Ilma l\u00fchima n\u00f5udeta saame teha paksus kirjas k\u00f5ik loendis esinevad s\u00f5nad. Kuna meile antakse algne <a href=\"https:\/\/wordpress.mediadoma.com\/et\/kuidas-lisada-googlei-otsingumootorit-wordpressi-ajaveebi-vidin-lihtne-html-kood\/\" title=\"HTML-string\">HTML-string<\/a>, saame iga rasvases kirjas esineva m\u00e4rgi puhul m\u00e4rkida paksuks.<\/p>\n<p>Seega, kui O(N) t\u00fchik ja O(NM), kus N on stringi suurus ja M on paksus kirjas stringi kogupikkus, lisab j\u00e4rgmine C++ <a href=\"https:\/\/helloacm.com\/algorithms-to-find-the-three-numbers-in-array-that-sum-up-to-zero-3sum\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">j\u00f5hkra j\u00f5u algoritm<\/a> k\u00f5ige v\u00e4hem HTML-i paksus kirjas silte, mis vastavad n\u00f5udele.<\/p>\n<pre><code>class Solution {\npublic:\n\u00a0 \u00a0 string boldWords(vector&lt;string&gt;&amp; words, string S) {\n\u00a0 \u00a0 \u00a0 \u00a0 int n = S.size();\n\u00a0 \u00a0 \u00a0 \u00a0 vector&lt;bool&gt; bold(n, false);\n\u00a0 \u00a0 \u00a0 \u00a0 for (const auto &amp;s: words) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (int i = 0; i + s.size() - 1 &lt; n; ++ i) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 bool ok = true;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (int k = 0; k &lt; s.size(); ++ k) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (s[k] != S[i + k]) { \/\/ bold string s not found in the string\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ok = false;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (ok) { \/\/ it is bold\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (int k = 0; k &lt; s.size(); ++ k) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 bold[i + k] = true; \/\/ mark the character bold\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 string ans = \"\";\n\u00a0 \u00a0 \u00a0 \u00a0 for (int i = 0; i &lt; n; ++ i) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ bold start boundary\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (bold[i] &amp;&amp; (i == 0 || !bold[i - 1])) ans += \"&lt;b&gt;\"; \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ans += S[i];\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ bold end boundary\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (bold[i] &amp;&amp; (i == n - 1 || !bold[i + 1])) ans += \"&lt;\/b&gt;\";\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 return ans;\n\u00a0 \u00a0 }\n};<\/code><\/pre>\n<p>P\u00e4rast rasvaste m\u00e4rkide m\u00e4rgistamist skannime stringi uuesti ja otsime piirid ning sisestame vastavalt sildid.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Algoritm s\u00f5nade paksuks muutmiseks HTML-is<\/p>\n","protected":false},"author":1,"featured_media":224460,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,833,894,916,842],"tags":[1165],"class_list":["post-232109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-juhend-algajatele","category-kood","category-muud","category-opetused","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/232109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=232109"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/232109\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224460"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=232109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=232109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=232109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}