<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Andrew</title>
    <description>The latest articles on DEV Community by Andrew (@feelsgood_6).</description>
    <link>https://dev.to/feelsgood_6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1092445%2Fba83563e-a0a8-47c0-b21d-bb0e2a6f7fdb.jpeg</url>
      <title>DEV Community: Andrew</title>
      <link>https://dev.to/feelsgood_6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/feelsgood_6"/>
    <language>en</language>
    <item>
      <title>18.08.2025.</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Mon, 18 Aug 2025 10:29:16 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/18082025-1bfe</link>
      <guid>https://dev.to/feelsgood_6/18082025-1bfe</guid>
      <description>&lt;p&gt;A few weeks passed. I did a lot of work, and also rested well. I will write not every week, but once in a while with some new happenings.&lt;br&gt;
For now, I am in a constant process, so a lot of progress will soon be made. I can understand up to 30% of the Mandarin Chinese after 4 months of learning it, while other dialects are still challenging for me at that stage. But, the more grammar I will comprehend, the more it will explain everything  for me. I also listen to the audio with simple day to day phrases a lot, so at the end of the planned practice year, I am going to understand around 90 different daily topics (while on average there are ~100 of them being in our lives throughout the waking hours basis).&lt;/p&gt;

</description>
      <category>learning</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Next Week - 28.07.2025</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Mon, 28 Jul 2025 07:11:55 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/next-week-28072025-11id</link>
      <guid>https://dev.to/feelsgood_6/next-week-28072025-11id</guid>
      <description>&lt;p&gt;I make a little change in my overall structure. From that moment I'm going to have one week for preparation - collecting words in my notes, links to different topics for learning etc.&lt;br&gt;
I will return to previous amounts of materials for learning (e.g. 84 Chinese words), just with that difference of one resting week. Right now, I've completed all my routines and I look forward to the next week to relax a little bit. I will still do my daily tasks btw.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>productivity</category>
      <category>career</category>
      <category>weeklyretro</category>
    </item>
    <item>
      <title>That week — Update.</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Tue, 22 Jul 2025 15:08:45 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/that-week-update-551a</link>
      <guid>https://dev.to/feelsgood_6/that-week-update-551a</guid>
      <description>&lt;p&gt;I had a highly important trip (Wǒ yǒu yī gè fēicháng zhòngyào de lǚxíng — haha, that’s what I am capable of saying right now in Chinese). Therefore, I could not learn this time. I’ve already started the next week from Monday, and also…I could not maintain my mood with that much of activity, so people around were disoriented with me. That could not work, I wish there was some place where I could improve myself that crazy, without the need to foster relationships, e.g. for an year or two, but at the same time I am grateful for everything. I had to take my plan, and divide it by two in order to stay fresh even after my undertakings. So, now I learn 42 words, instead of 84… That’s a shame, I will know only ~2300 words after an year, which is a very basic level, compared to 4600 I wanted before. But I might still understand 70% of every needed conversation for functioning in a foreign environment.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I’ve changed everything.</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Mon, 14 Jul 2025 14:14:16 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/ive-changed-everything-3m6</link>
      <guid>https://dev.to/feelsgood_6/ive-changed-everything-3m6</guid>
      <description>&lt;p&gt;Right now, I am not using AI to translate my Russian writings of this blog. I am writing it right away, since I don’t have time for that bullsh. I have too much work and other responsibilities, that I am managing to complete, when most of others would probably give up. I am on one path for &lt;strong&gt;4 weeks&lt;/strong&gt; right now.&lt;/p&gt;

&lt;p&gt;I did 4 algorithms as always. Last one was Fibonacci Number, and before that Climbing Stairs. I still used AI to give me a full and amazing explanation of every result’s code part. I read it, fully understand it, then write my own pseudocode with thoughts and explanations to myself.&lt;/p&gt;

&lt;p&gt;I can leave here these two last algos, how I’ve approached them when I forgot some details after reading with understanding the explanation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Solution {
public:
    int fib(int n) {
        /* 
            *В задачах на Fibonacci используется как показано в условии формула (n-1)+(n-2)
            Но начинается данная последовательность с 0 и 1.
            = Мне нужно пройтись по всему массиву чисел до n. Есть n допустим равное 3.
              В таком случае (F(3-1) + F(3-2)) + (F(2-1)+F(2-2)), но в начале должны быть 0 и 1.
            = Нужно создать переменную - вектор чисел для хранения резу...Либо, можно пойти с конца
              и тогда вместо сохранения элементов в массиве, можно будет сначала запихнуть в
              в две переменные (prev и current) 0 и 1 соответственно.
            = В начатом цикле...ага или же можно идти с конца и присвоить prev = n-1, а 
              current = n - 1; В цикле, если n меньше 2, то сразу вывести n, в другом случае
              result = prev + current; А потом prev--, и current--;
            = Для n равного 4, будет 1.)result = 3+2; 2.)2+1; 3.)1
            = Нет, легче будет сделать: prev = 0; current = 1; В цикле: result = prev + current;
              prev = current; current = result. А в конце вывести result
            = Для n равного 4, будет 0.)result = 0+1=1; 1.)1+1=2; 2.)1+2=3; 3.)2+3=5;
            = Тоже нужно вывести в конце current (тогда вместо result можно назвать next)
            = Можно использовать while (--n) {} цикл для такого случая, тк индекс не используется
            Итак:
            - int prev = 0; int current = 1; int next;
            - while (--n) {}, или скорее while (n--), чтобы также дойти до 0-вого индекса
            - Внутри цикла next = prev + current; А также prev = current; current = next;
            - В конце вывод return previous (да, ведь в конце current становится next...);
            - А так как next постоянно меняется внутри цикла и ему только нужны новые значения,
              то можно для читаемости и контроля кода сделать int next = ... в каждой итерации
        */

        int prev = 0;
        int current = 1;
        while (n--) {
            int next = prev + current;
            prev = current;
            current = next;
        }
        return prev;
    }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Solution {
public:
    int climbStairs(int n) {
        /* 
            * Есть n шагов до верха лестницы (количество шагов)
            * Каждый раз можно сделать либо 1, либо 2 шага
            * n от 1 до 45
            * каждый шаг имеет два способа поднятия на него (шаг на 1, или шаг на 2), кроме 
              первого шага, который имеет только один способ оказаться на нём.
            = Мне нужно пройтись по циклу от 0(шага) до n(последнего шага)
            = На каждой итерации мне нужно будет засчитать возможность попадания на эту ступень
              из поз-апрошлой ступени, и также из прошлой. Формулой было бы -&amp;gt; step = (n-2) + (n-1)
            = В конце мне нужно будет вывести текущее значение всех посчитанных шагов вместе после
              полного прохождения цикла.
            = В самом начале нужно сделать так, чтобы посчитался только один шаг - первый шаг (до 
              него ступеней ещё не было)
            = Для этого, нужно иметь переменную, хранящую прошлый шаг и текущий.
            = Имея прошлый шаг сначала равный 0, и текущий, тоже допустим! равный 0, в таком случае
              в первой итерации steps = currentStep + previousStep. Но именно поэтому currentStep
              может быть в начале равен 1. Либо, можно попробовать сделать steps = i + previousStep 
              (где i допустим начнётся не с нуля, а с 1).
            = Во втором способе, steps будет при массиве [0, 3] = 1.)1; 2.)...
              Ага, и тут нужно добавлять также и в previousStep, чтобы он не оставался равным 
              всегда 0, а также двигался по лестице - соответственно, previousStep = i в конце.
            = Теперь, steps будет при массиве [0, 3] = 1.)1; 2.)i+(i-1)=1; 3.)...
            = Всё таки нужно что-то изменить. Добавить переменную previousStep = 0, и 
              currentStep = 1; в самом начале
            = Теперь steps будет при массиве [0, 3] = 1.)0+1; 2.)...;
            = Нужно переопределить previousStep и currentStep после текущей итерации, что nextStep
             тоже учитывался, и в итоге производился переход на следующую ступень.
            = previousStep = currentStep; currentStep = step;
            = Теперь steps будет при массиве [0, 3] = 0.)0+1=1; 1.)1+1=2; 2.)1+2=3 3.)2+3=5;
            = В конце вывести currentStep? (ведь 5 это уже следующий шаг, своего рода nextStep)
            = Да, в таком случае можно назвать вместо step - nextStep.
            Итак:
            - Две переменные previousStep = 0; currentStep = 1;
            - Цикл for (int i = 0; i &amp;lt; n; ++i) {}
            - Внутри цикла nextStep = previousStep + currentStep
            - После этого также внутри цикла previousStep = currentStep; currentStep = nextStep;
            - После цикла вывод return currentStep.

            P.S - Если бы я лучше знал шаблоны, то распознал бы задачу на Fibonnaci sequence, 
            а тогда я мог бы дойти до решения в 2-4 раза быстрее.
        */

        int prevStep = 0;
        int currentStep = 1;
        int nextStep;
        for (int i = 0; i &amp;lt; n; ++i) {
            nextStep = prevStep + currentStep;
            prevStep = currentStep;
            currentStep = nextStep;
        }
        return currentStep;
    }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yea it’s Russian, but I don’t give a d. Nobody would read it anyway. I will probably just re-read this some day and recollect some more.&lt;/p&gt;

&lt;p&gt;I was also reading about 5 CS topics, including: Von Neumann and Harvard’s architectures; Registers (flags, general purpose); Pipelining, Branch prediction and an Arithmetic logic unit ALU.&lt;/p&gt;

&lt;p&gt;With Chinese words it’s a little bit trickier, since after I’ve added more to my work schedule, I could not manage to find time for everything, so I still know 500–550 words, but I need to repeat and learn already familiar words, so I could get to 600 and even 700 this time. I’ll do that, since I have slowly found my pase and flow in everything.&lt;/p&gt;

&lt;p&gt;I also do my own startup, which is just in a well…starting point. But I am already proud of doing next steps and staying on one course no matter what. I have my own Notes that include the year+ plan, and all the motivation with other important stuff keeping me on that road to first success. At the end of it all, you need to succeed only once, just like Drew Houston, and Mark Cuban were saying.&lt;/p&gt;

&lt;p&gt;That’s it, I am going to complete the tone of my job from the previous week, and also start that new one from Monday. I was actually afraid of becoming a bad programmer, but that fear made me think more about: security, maintenance, cleanliness (readability), correctness (best practices) and complete understanding of what I am doing, why, how, where etc.&lt;/p&gt;

&lt;p&gt;You can follow my path to a huge one of a Tech Entrepreneur with good programming skills person. Independent and fully organized in terms of everything in life. Well, maybe except of my zero interest on any romantic relationships (probably I am asexual, but never mind…).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yea, let’s get it then.&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Weekly Dev – Algorithms, Language Learning, and Life</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Tue, 08 Jul 2025 10:29:36 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/weekly-dev-algorithms-language-learning-and-life-2amf</link>
      <guid>https://dev.to/feelsgood_6/weekly-dev-algorithms-language-learning-and-life-2amf</guid>
      <description>&lt;p&gt;Crazy week. I didn't even have time to write this log. It's already Tuesday night, and I finally have a moment to breathe.&lt;/p&gt;

&lt;p&gt;🧠 Algorithms This Week&lt;br&gt;
As usual — 4 algorithms. This time:&lt;/p&gt;

&lt;p&gt;Move Zeroes&lt;/p&gt;

&lt;p&gt;Contains Duplicate&lt;/p&gt;

&lt;p&gt;Intersection of Two Arrays&lt;/p&gt;

&lt;p&gt;Majority Element&lt;/p&gt;

&lt;p&gt;I'm still working through them, focusing on recognizing patterns and reinforcing muscle memory for problem-solving.&lt;/p&gt;

&lt;p&gt;🎧 Language Learning Strategy&lt;br&gt;
I’ve added a small twist to my daily English learning: listening to one 7-minute topic over the course of three days before switching to the next.&lt;br&gt;
Why? I realized that I often miss even familiar words in fast, natural speech.&lt;/p&gt;

&lt;p&gt;By doing this consistently for a year, I should be able to understand about 120 topics, covering most day-to-day situations — and roughly 4,600 words.&lt;br&gt;
Right now I know about 500. Each week, I can deeply memorize 60–70 of the 84 I review. The rest usually settle in after a week or two.&lt;/p&gt;

&lt;p&gt;🏓 Life Events&lt;br&gt;
This period included:&lt;/p&gt;

&lt;p&gt;My birthday 🎉&lt;/p&gt;

&lt;p&gt;Meetings with some amazing people&lt;/p&gt;

&lt;p&gt;A couple of tennis sessions&lt;/p&gt;

&lt;p&gt;This meant I wasn’t home a lot and couldn’t stick to my usual routine. I managed to finish the weekly plan in just 3–4 days out of 7.&lt;/p&gt;

&lt;p&gt;One practice that helps a lot: daily detailed memory recall of the previous 24 hours. Soon, I’ll try doing that for two days instead of one — memory training is part of the process too.&lt;/p&gt;

&lt;p&gt;⚡ Electronics &amp;amp; Computer Fundamentals&lt;br&gt;
I'm gradually working through basic electronics — essential for understanding how computers and other hardware actually work.&lt;/p&gt;

&lt;p&gt;I’m not diving too deep; just getting the fundamentals. This will help me later when I move on to more practical, higher-level tech topics. I’m about to finish the current chapter and get to the fun stuff soon.&lt;/p&gt;

&lt;p&gt;For the next log, I might share more details about my learning framework. For now, though, I’m slowing down the pace a bit — taking a couple of low-pressure days to recharge.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>languagelearning</category>
      <category>selfimprovement</category>
      <category>webdev</category>
    </item>
    <item>
      <title>2nd Week - Algorithms</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Mon, 30 Jun 2025 11:54:27 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/2nd-week-algorithms-2o74</link>
      <guid>https://dev.to/feelsgood_6/2nd-week-algorithms-2o74</guid>
      <description>&lt;h2&gt;
  
  
  5. Merge Two Sorted Lists (Easy)
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/21" rel="noopener noreferrer"&gt;Problem Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🧱 Context:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Written in &lt;strong&gt;C++&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Merges &lt;strong&gt;two sorted singly linked lists&lt;/strong&gt; into a &lt;strong&gt;new sorted list&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A singly linked list is a structure where each node holds a value (&lt;code&gt;val&lt;/code&gt;) and a pointer to the &lt;strong&gt;next&lt;/strong&gt; node (&lt;code&gt;next&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 ListNode Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;ListNode&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;val&lt;/code&gt;: value of the node&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;next&lt;/code&gt;: pointer to the next node&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Three constructors:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Default: &lt;code&gt;val = 0&lt;/code&gt;, &lt;code&gt;next = nullptr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;With value only&lt;/li&gt;
&lt;li&gt;With value and next node pointer&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🧠 Solution Class
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;public:&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Class for our solution&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;public:&lt;/code&gt; means the method is accessible externally&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔧 &lt;code&gt;mergeTwoLists&lt;/code&gt; Method
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nf"&gt;mergeTwoLists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;list1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Takes two pointers to &lt;strong&gt;sorted lists&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Returns pointer to a &lt;strong&gt;new merged sorted list&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  🧱 Step 1: Create dummy starting node
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;dummyHead&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Used as a &lt;strong&gt;fake starting point&lt;/strong&gt; to simplify appending new nodes.&lt;/p&gt;




&lt;h4&gt;
  
  
  📍 Step 2: Create traversal pointer
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dummyHead&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;current&lt;/code&gt; moves along the new list.&lt;/p&gt;




&lt;h4&gt;
  
  
  🔄 Step 3: While both lists aren't finished
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Continue while both lists have nodes.&lt;/p&gt;




&lt;h4&gt;
  
  
  🔁 Step 4: Compare values
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Choose the smaller value.&lt;/p&gt;




&lt;h4&gt;
  
  
  ➡️ Step 5: Append from list1
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;list1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list1&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  🔁 Otherwise, take from list2
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;list2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  🧭 Step 6: Move forward in the new list
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  🔚 Step 7: Attach remaining nodes
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;list1&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="n"&gt;list1&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;list2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  🏁 Step 8: Return the merged list
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;dummyHead&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Return the first &lt;em&gt;real&lt;/em&gt; node (skip dummy).&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Summary:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a dummy node&lt;/li&gt;
&lt;li&gt;Traverse both lists&lt;/li&gt;
&lt;li&gt;Choose the smaller node each time&lt;/li&gt;
&lt;li&gt;Attach the rest when one list ends&lt;/li&gt;
&lt;li&gt;Return merged result&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  6. Reverse Linked List (Easy)
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/206" rel="noopener noreferrer"&gt;Problem Link&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 ListNode Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;ListNode&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🌀 &lt;code&gt;reverseList&lt;/code&gt; Function
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nf"&gt;reverseList&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Input: pointer to start of the list&lt;/li&gt;
&lt;li&gt;Output: pointer to start of &lt;strong&gt;reversed&lt;/strong&gt; list&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Steps:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Create dummy head
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;dummy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Pointer for traversal
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Loop through list
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Save the next node
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;nextNode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Reverse pointer
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dummy&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Insert at start of new list
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;dummy&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Move to next
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nextNode&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Return reversed list
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;dummy&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧩 Visual Walkthrough
&lt;/h3&gt;

&lt;p&gt;Original:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;head → 1 → 2 → 3 → 4 → nullptr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After iterations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dummy → 1
dummy → 2 → 1
dummy → 3 → 2 → 1
dummy → 4 → 3 → 2 → 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🟡 Recap:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create empty list&lt;/li&gt;
&lt;li&gt;Take nodes one by one from original&lt;/li&gt;
&lt;li&gt;Insert at beginning of new list&lt;/li&gt;
&lt;li&gt;Return result&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  7. Linked List Cycle (Easy)
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/141" rel="noopener noreferrer"&gt;Problem Link&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  📦 Node Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;ListNode&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;ListNode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;nullptr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧠 Cycle Detection (&lt;code&gt;hasCycle&lt;/code&gt;)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;hasCycle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🐢🐇 Use two pointers:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;slowPointer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;ListNode&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;fastPointer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;slowPointer&lt;/code&gt; moves 1 step&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;fastPointer&lt;/code&gt; moves 2 steps&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔁 Traverse the list
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fastPointer&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;fastPointer&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;slowPointer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;slowPointer&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;fastPointer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fastPointer&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If they meet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;slowPointer&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;fastPointer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No cycle?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  📊 Visual
&lt;/h3&gt;

&lt;p&gt;Without cycle:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 → 2 → 3 → 4 → nullptr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With cycle:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 → 2 → 3 → 4
          ↑
          ↓
          2 (loop)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧩 Summary:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Two pointers moving at different speeds&lt;/li&gt;
&lt;li&gt;If cycle exists → they'll meet&lt;/li&gt;
&lt;li&gt;If not → fast pointer hits end&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  8. Maximum Subarray (Medium)
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/53" rel="noopener noreferrer"&gt;Problem Link&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  📦 The Problem:
&lt;/h3&gt;

&lt;p&gt;Given an array, find the &lt;strong&gt;maximum sum of any continuous subarray&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Input: &lt;code&gt;[-2, 1, -3, 4, -1, 2, 1, -5, 4]&lt;/code&gt;&lt;br&gt;
Output: &lt;code&gt;6&lt;/code&gt; → from &lt;code&gt;[4, -1, 2, 1]&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 Kadane’s Algorithm
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;maxSubArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Step 1: Initialize max values
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;currentMax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;globalMax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔁 Step 2: Iterate
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;currentMax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;currentMax&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="n"&gt;globalMax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;globalMax&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;currentMax&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  ✅ Step 3: Return result
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;globalMax&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧩 Example Breakdown
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;i&lt;/th&gt;
&lt;th&gt;nums[i]&lt;/th&gt;
&lt;th&gt;currentMax&lt;/th&gt;
&lt;th&gt;globalMax&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;-3&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;-1&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;6 ✅&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;-5&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🟡 Summary:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;currentMax&lt;/code&gt;: sum of current subarray&lt;/li&gt;
&lt;li&gt;Reset to 0 if it turns negative&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;globalMax&lt;/code&gt;: max seen so far&lt;/li&gt;
&lt;li&gt;One pass: &lt;strong&gt;O(n)&lt;/strong&gt; complexity&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✅ Follow-up
&lt;/h2&gt;

&lt;p&gt;If you liked this breakdown, let me know — I plan to continue this series with more Leetcode problems, especially in C++ with deep explanations for beginners.&lt;/p&gt;




</description>
      <category>programming</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>learning</category>
    </item>
    <item>
      <title>2 Week Of : “Spark” Project</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Sun, 29 Jun 2025 17:37:26 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/2-week-of-spark-project-1lnb</link>
      <guid>https://dev.to/feelsgood_6/2-week-of-spark-project-1lnb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Friday. Time – 12:53 AM (in China).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, in practice I didn’t manage to complete my plan within the week, but I had a lot of business stuff going on — one night I didn’t even sleep at all, nearly 24 hours straight. And on the other days I slept 5, 6, 7, or at least once even 8 hours. In reality though, I still have tonight — and no one canceled that. Time is a myth, just like thoughts, the future, the past, or even the present. If you look deeper into time, you’ll realize we don’t have it — and at the same time, we do. I believe there’s no point wasting something we kind of don’t even have, on things that are completely meaningless. Although, everyone does as they please, but I’ve chosen my own path. Below is the text I wrote, I think, on Thursday.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;This is how I learn Chinese.&lt;/strong&gt; (The mnemonic method is weird, but it’s from the book &lt;em&gt;Unlimited Memory&lt;/em&gt;. I’ve already memorized over 400 words in 3 months and one week. I also write down abbreviations for these words with later pronunciation of them, in addition to the more obvious reasons to remember these words for real-life situations → a method I got from YouTube. For once that platform was actually useful, and not just triggering FOMO.) I’ve been living in China for 3 months now, so I occasionally have conversations with native speakers, plus minimal practice with them. 400 words is very little… even a child knows way more. 1,000 words is the first minimum to understand most basic topics, and I still have a lot to learn. Also, sentence construction is often not obvious, which means I’ll need to memorize lots of phrases, particles, forms, structures, etc. Oh, almost forgot. I’m from Russia, so it’s much easier for me to come up with homonyms and associations in Russian… I’m baring my soul with this post, because many of the things below came to me by chance and initially in the form of a weird “mini-story.” I should also mention that even tones are included in my mnemonics, because if you pronounce even a single vowel at the wrong pitch, you probably won’t be understood…&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The words themselves (absurd, but it works):&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;bǎi - hundred, numerous
(Можно сказать бай огромному количеству знакомых, наверное сотне)
*Например, это стоило 100 юаней&lt;/li&gt;
&lt;li&gt;bào zhǐ (бАо джи) - newspaper, newsprint
(Да он избалованный джином словно, вот так пишет эти газеты)&lt;/li&gt;
&lt;li&gt;guò - to pass (time), to celebrate
(Гула то сколько было, но время прошло, вы же отмечали?)&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Next, I have 2 tests awaiting me from both sides (Chinese – English), which I might pass immediately, but usually I need to revise certain unlearned words first and only then pass everything. That’s how I test myself.&lt;/p&gt;

&lt;p&gt;And I still have 3 projects, and possibly tennis coaching (the last one is not certain yet). One of them is a joint project, the other 2 are my personal ones. I don’t know how I manage everything, but I’m extremely motivated, because nothing else in this life or the entire world interests me.&lt;/p&gt;

&lt;p&gt;And here are my 5 behind-the-scenes topics on computer theory (all links are in Russian, for an obvious reason… Previously, I tried learning completely new topics without knowing the basics and in a foreign language, especially English — it was pointless and difficult):&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Basics of Electronics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://beam-robot.ru/electronics_for_beginners/electronics_base.php" rel="noopener noreferrer"&gt;http://beam-robot.ru/electronics_for_beginners/electronics_base.php&lt;/a&gt;&lt;br&gt;
Capacitor (this is the term I wanted to understand better)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Boolean Algebra (Logic Algebra)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://beam-robot.ru/electronics_for_beginners/logical_algebra.php" rel="noopener noreferrer"&gt;http://beam-robot.ru/electronics_for_beginners/logical_algebra.php&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Logical Addition (Disjunction)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://beam-robot.ru/electronics_for_beginners/disjunction.php" rel="noopener noreferrer"&gt;http://beam-robot.ru/electronics_for_beginners/disjunction.php&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Logical Multiplication (Conjunction)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://beam-robot.ru/electronics_for_beginners/conjunction.php" rel="noopener noreferrer"&gt;http://beam-robot.ru/electronics_for_beginners/conjunction.php&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Logical Negation (Inversion)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://beam-robot.ru/electronics_for_beginners/inversion.php" rel="noopener noreferrer"&gt;http://beam-robot.ru/electronics_for_beginners/inversion.php&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;1. Basics of Electronics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is electric current?&lt;/li&gt;
&lt;li&gt;What’s the difference between alternating current (AC) and direct current (DC)?&lt;/li&gt;
&lt;li&gt;What are a resistor, capacitor, and inductor?&lt;/li&gt;
&lt;li&gt;How do a diode and a transistor work?&lt;/li&gt;
&lt;li&gt;What is Ohm’s law? Write down the formula.&lt;/li&gt;
&lt;li&gt;What are logic levels in digital electronics (0 and 1)?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Electric current&lt;/strong&gt; is the directional flow of charged particles (electrons or ions).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AC&lt;/strong&gt; changes direction (e.g., in a wall outlet), &lt;strong&gt;DC&lt;/strong&gt; flows in one direction (e.g., a battery).&lt;/li&gt;
&lt;li&gt;* &lt;strong&gt;Resistor&lt;/strong&gt; – resistance, limits current.

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Capacitor&lt;/strong&gt; – stores charge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inductor&lt;/strong&gt; – creates a magnetic field when current flows through it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;* &lt;strong&gt;Diode&lt;/strong&gt; – allows current to pass in only one direction.

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Transistor&lt;/strong&gt; – amplifies or switches current (e.g., NPN/PNP types).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ohm’s Law&lt;/strong&gt;: $V = I \times R$ (Voltage = Current × Resistance).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logic 0&lt;/strong&gt; – low voltage (~0V), &lt;strong&gt;logic 1&lt;/strong&gt; – high voltage (~3.3V or 5V).&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2. Boolean Algebra (Logic Algebra)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is Boolean algebra and where is it used?&lt;/li&gt;
&lt;li&gt;What are the basic logical operations?&lt;/li&gt;
&lt;li&gt;What is a truth table?&lt;/li&gt;
&lt;li&gt;How are logical expressions written?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Boolean algebra&lt;/strong&gt; is a branch of mathematics that studies logical operations on statements (true/false). It is used in digital electronics, programming.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic operations&lt;/strong&gt;: AND, OR, NOT, XOR (exclusive OR).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Truth table&lt;/strong&gt; – a table showing the result of an operation for all possible input combinations.&lt;/li&gt;
&lt;li&gt;Logical expressions are written using variables (A, B) and operators (∧, ∨, ¬).&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3. Logical Addition (OR)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How does the OR operation work?&lt;/li&gt;
&lt;li&gt;What is the truth table for OR?&lt;/li&gt;
&lt;li&gt;What does the logical expression for OR look like?&lt;/li&gt;
&lt;li&gt;How is OR implemented using transistors or relays?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;OR&lt;/strong&gt; outputs &lt;code&gt;1&lt;/code&gt; if at least one input is &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;OR truth table&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;| A | B | A∨B |&lt;br&gt;
   | - | - | --- |&lt;br&gt;
   | 0 | 0 | 0   |&lt;br&gt;
   | 0 | 1 | 1   |&lt;br&gt;
   | 1 | 0 | 1   |&lt;br&gt;
   | 1 | 1 | 1   |&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Expression: $A + B$ or $A \lor B$.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In electronics, OR can be implemented with diodes or transistors (parallel connection).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;4. Logical Multiplication (AND)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How does the AND operation work?&lt;/li&gt;
&lt;li&gt;What is the truth table for AND?&lt;/li&gt;
&lt;li&gt;What does the logical expression for AND look like?&lt;/li&gt;
&lt;li&gt;How is AND implemented with transistors?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AND&lt;/strong&gt; outputs &lt;code&gt;1&lt;/code&gt; only if both inputs are &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AND truth table&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;| A | B | A∧B |&lt;br&gt;
   | - | - | --- |&lt;br&gt;
   | 0 | 0 | 0   |&lt;br&gt;
   | 0 | 1 | 0   |&lt;br&gt;
   | 1 | 0 | 0   |&lt;br&gt;
   | 1 | 1 | 1   |&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Expression: $A \cdot B$ or $A \land B$.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In electronics, AND is implemented using transistors connected in series.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;5. Logical Negation (NOT)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How does the NOT operation work?&lt;/li&gt;
&lt;li&gt;What is the truth table for NOT?&lt;/li&gt;
&lt;li&gt;What does the logical expression for NOT look like?&lt;/li&gt;
&lt;li&gt;How is NOT implemented with transistors?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NOT&lt;/strong&gt; inverts the signal (&lt;code&gt;0&lt;/code&gt; → &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;1&lt;/code&gt; → &lt;code&gt;0&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NOT truth table&lt;/strong&gt;:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;| A | ¬A |&lt;br&gt;
   | - | -- |&lt;br&gt;
   | 0 | 1  |&lt;br&gt;
   | 1 | 0  |&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Expression: $\overline{A}$ or $\neg A$.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In electronics, NOT is implemented with a transistor (inverter).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;And 1 C++ topic.&lt;/p&gt;

&lt;p&gt;📘 &lt;a href="https://metanit.com/cpp/tutorial/2.13.php" rel="noopener noreferrer"&gt;Original tutorial source (in Russian)&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;1. Basics of Loops in C++&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Questions:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;What is a loop in programming?&lt;/li&gt;
&lt;li&gt;What types of loops exist in C++?&lt;/li&gt;
&lt;li&gt;What’s the difference between &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do-while&lt;/code&gt;, and &lt;code&gt;for&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;How do you avoid an infinite loop?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Answers:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;A &lt;strong&gt;loop&lt;/strong&gt; is a construct that repeats a block of code as long as a condition is true.&lt;/li&gt;
&lt;li&gt;C++ offers:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;while&lt;/code&gt; – loop with a pre-condition&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;do-while&lt;/code&gt; – loop with a post-condition&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;for&lt;/code&gt; – counter-controlled loop&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Differences:&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;while&lt;/code&gt; checks the condition &lt;strong&gt;before&lt;/strong&gt; execution&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;do-while&lt;/code&gt; executes the body &lt;strong&gt;at least once&lt;/strong&gt;, then checks the condition&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;for&lt;/code&gt; is a compact loop with init, condition, and update&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To &lt;strong&gt;avoid infinite loops&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure the exit condition is reachable&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In &lt;code&gt;for&lt;/code&gt;, verify the counter is changing correctly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In &lt;code&gt;while&lt;/code&gt;/&lt;code&gt;do-while&lt;/code&gt;, avoid conditions that are always &lt;code&gt;true&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;2. The &lt;code&gt;while&lt;/code&gt; Loop&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Questions:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;How does &lt;code&gt;while&lt;/code&gt; work?&lt;/li&gt;
&lt;li&gt;What is the syntax of &lt;code&gt;while&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;When is &lt;code&gt;while&lt;/code&gt; better than &lt;code&gt;for&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Can &lt;code&gt;while&lt;/code&gt; run zero times?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Answers:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;while&lt;/code&gt; executes code &lt;strong&gt;as long as&lt;/strong&gt; the condition is &lt;code&gt;true&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Syntax:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// loop body&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;while&lt;/code&gt; when the number of iterations is &lt;strong&gt;unknown&lt;/strong&gt; (e.g., reading a file)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — if the condition is initially &lt;code&gt;false&lt;/code&gt;, it won’t run at all&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;3. The &lt;code&gt;do-while&lt;/code&gt; Loop&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Questions:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;How does &lt;code&gt;do-while&lt;/code&gt; work?&lt;/li&gt;
&lt;li&gt;How is it different from &lt;code&gt;while&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;When should you use &lt;code&gt;do-while&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;;&lt;/code&gt; required after &lt;code&gt;while()&lt;/code&gt;?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Answers:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;do-while&lt;/code&gt; executes the body &lt;strong&gt;first&lt;/strong&gt;, then checks the condition&lt;/li&gt;
&lt;li&gt;Difference:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;do-while&lt;/code&gt; &lt;strong&gt;guarantees at least one execution&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;Use it when you &lt;strong&gt;need one execution minimum&lt;/strong&gt; (e.g., menu input)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yes&lt;/strong&gt;, semicolon is required after &lt;code&gt;while()&lt;/code&gt;:
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// body&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// ← don't forget ;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;4. The &lt;code&gt;for&lt;/code&gt; Loop&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Questions:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;How does &lt;code&gt;for&lt;/code&gt; work?&lt;/li&gt;
&lt;li&gt;What are the parts of a &lt;code&gt;for&lt;/code&gt; loop declaration?&lt;/li&gt;
&lt;li&gt;Can parts of &lt;code&gt;for&lt;/code&gt; be skipped? (e.g., initialization)&lt;/li&gt;
&lt;li&gt;How do you count backward (10 to 1)?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Answers:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;for&lt;/code&gt; executes code while the condition is &lt;code&gt;true&lt;/code&gt;, updating a counter&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structure:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;init&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// body&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Yes&lt;/strong&gt;, parts can be skipped, but semicolons are &lt;strong&gt;required&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Reverse countdown:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;5. Loop Control (&lt;code&gt;break&lt;/code&gt;, &lt;code&gt;continue&lt;/code&gt;)&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Questions:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;What does &lt;code&gt;break&lt;/code&gt; do?&lt;/li&gt;
&lt;li&gt;What does &lt;code&gt;continue&lt;/code&gt; do?&lt;/li&gt;
&lt;li&gt;Can &lt;code&gt;break&lt;/code&gt; and &lt;code&gt;continue&lt;/code&gt; be used in all loops?&lt;/li&gt;
&lt;li&gt;How do you exit a nested loop?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Answers:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;break&lt;/code&gt; immediately &lt;strong&gt;exits&lt;/strong&gt; the loop&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;continue&lt;/code&gt; &lt;strong&gt;skips&lt;/strong&gt; the current iteration, moving to the next&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yes&lt;/strong&gt;, both work in &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do-while&lt;/code&gt;, and &lt;code&gt;for&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;To exit nested loops:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;break&lt;/code&gt; in the inner loop&lt;/li&gt;
&lt;li&gt;Or use &lt;code&gt;goto&lt;/code&gt; (not recommended) or flags:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;exitFlag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;exitFlag&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;exitFlag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;6. Practical Tasks&lt;/strong&gt; &lt;em&gt;(To check your understanding)&lt;/em&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;for&lt;/code&gt; loop: Print even numbers from 2 to 20
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;code&gt;while&lt;/code&gt; loop: Sum numbers until user enters 0
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;cin&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. &lt;code&gt;do-while&lt;/code&gt;: Ask for password until "12345" is entered
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"Enter password: "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;cin&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s"&gt;"12345"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔍 Optional Topics to Explore Further
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Nested loops&lt;/li&gt;
&lt;li&gt;Loop optimization (&lt;code&gt;++i&lt;/code&gt; vs &lt;code&gt;i++&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Range-based &lt;code&gt;for&lt;/code&gt; loop (C++11 and newer)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;🌙 Now, Back to Monday Night...&lt;br&gt;
I still have 4 algorithms left to write and need to pass a test on Chinese vocabulary.&lt;br&gt;
Also, I’ll review all CS and C++ topics one more time.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>"Spark" - 1 Week (22.06.2025)</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Wed, 25 Jun 2025 14:03:38 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/spark-1-week-22062025-2pkc</link>
      <guid>https://dev.to/feelsgood_6/spark-1-week-22062025-2pkc</guid>
      <description>&lt;h1&gt;
  
  
  Week 1 – Learning Log (22.06.2025)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🗓 Thursday
&lt;/h2&gt;

&lt;p&gt;How's the first week going? Honestly, not bad at all.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I came up with a lot of new project ideas (not the focus this week though).&lt;/li&gt;
&lt;li&gt;Created mnemonics for nearly all 84 vocabulary phrases, and I’m close to finishing.&lt;/li&gt;
&lt;li&gt;I’ll soon start translation tests (Chinese &amp;lt;-&amp;gt; English) to measure real retention.&lt;/li&gt;
&lt;li&gt;Will write down &lt;strong&gt;reasons why remembering them matters&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This week brought another intense wave of introspection and existential thoughts—but I made it through. Oddly enough, &lt;em&gt;The Social Network&lt;/em&gt; movie helps me regain focus and motivation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Algorithms I'm Starting With
&lt;/h3&gt;

&lt;p&gt;I’ve selected 4 beginner-level problems to master:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Two Sum&lt;/li&gt;
&lt;li&gt;✅ Valid Parentheses&lt;/li&gt;
&lt;li&gt;✅ Best Time to Buy and Sell Stock&lt;/li&gt;
&lt;li&gt;✅ Valid Palindrome&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'll:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Study the &lt;strong&gt;most efficient solutions&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Write &lt;strong&gt;pseudocode&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Implement them in &lt;strong&gt;C++&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My approach prioritizes &lt;strong&gt;speed, clarity, and adaptability&lt;/strong&gt;. Critics might say I’m copying solutions. Fair. But my aim is to &lt;strong&gt;absorb as many techniques&lt;/strong&gt; as possible before building things completely solo.&lt;/p&gt;

&lt;p&gt;I've also started learning 5 &lt;strong&gt;computer theory topics&lt;/strong&gt;—right down to &lt;strong&gt;electrical components&lt;/strong&gt;. Why? Because I want to understand how things work &lt;em&gt;beneath the code&lt;/em&gt;. I’ve also added a C++ topic for brushing up on fundamentals.&lt;/p&gt;

&lt;p&gt;And despite it being 2 AM... I feel energized. Let's go. Even if AI takes over coding, I’ll keep living my narrative.&lt;/p&gt;




&lt;h2&gt;
  
  
  🗓 Sunday
&lt;/h2&gt;

&lt;p&gt;It's been a &lt;strong&gt;tough but meaningful week&lt;/strong&gt;.&lt;br&gt;
⏰ 9:35 PM – Still finishing up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chinese vocabulary&lt;/li&gt;
&lt;li&gt;LeetCode solutions&lt;/li&gt;
&lt;li&gt;A bit of C++ and CS theory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I can't say I’ve &lt;em&gt;mastered&lt;/em&gt; the technical theory yet, but now, when I revisit these ideas in the future, I’ll recognize and understand them &lt;em&gt;much faster&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Meanwhile, I’m juggling some &lt;strong&gt;business projects&lt;/strong&gt; too.&lt;br&gt;
I registered my new domain: &lt;strong&gt;&lt;a href="https://unpackly.com" rel="noopener noreferrer"&gt;unpackly.com&lt;/a&gt;&lt;/strong&gt; — development starts next week.&lt;/p&gt;

&lt;p&gt;Still need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify the &lt;strong&gt;target audience&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Find &lt;strong&gt;communities&lt;/strong&gt; where they hang out&lt;/li&gt;
&lt;li&gt;Begin &lt;strong&gt;engaging authentically&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ Weekly Resources + LeetCode Review
&lt;/h2&gt;

&lt;p&gt;One of my ongoing project ideas is building a tool that &lt;strong&gt;summarizes all your study content&lt;/strong&gt; in seconds—so here's a "manual version" of that for now.&lt;/p&gt;

&lt;p&gt;My &lt;strong&gt;LeetCode ID&lt;/strong&gt;: &lt;code&gt;feelsgood121&lt;/code&gt;&lt;br&gt;
I used the following materials to study and solve these 4 problems:&lt;/p&gt;


&lt;h1&gt;
  
  
  🧠 4 Algorithms
&lt;/h1&gt;


&lt;h2&gt;
  
  
  1. Two Sum &lt;em&gt;(Easy)&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://medium.com/@AlexanderObregon/solving-the-two-sum-problem-on-leetcode-c-answer-s-walkthrough-0aa8b87875e9" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One-Pass Hash Table stands out as the most time-efficient option, especially useful for larger datasets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Here&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;named&lt;/span&gt; &lt;span class="n"&gt;Solution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;classes&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;like&lt;/span&gt; &lt;span class="n"&gt;containers&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;hold&lt;/span&gt; &lt;span class="n"&gt;functions&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;variables&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;On&lt;/span&gt; &lt;span class="n"&gt;LeetCode&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;usually&lt;/span&gt; &lt;span class="n"&gt;written&lt;/span&gt; &lt;span class="n"&gt;inside&lt;/span&gt; &lt;span class="n"&gt;such&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="nl"&gt;public:&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;This&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;access&lt;/span&gt; &lt;span class="n"&gt;specifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;It&lt;/span&gt; &lt;span class="n"&gt;means&lt;/span&gt; &lt;span class="n"&gt;everything&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;follows&lt;/span&gt; &lt;span class="n"&gt;inside&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;is&lt;/span&gt; &lt;span class="n"&gt;publicly&lt;/span&gt; &lt;span class="n"&gt;accessible&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;other&lt;/span&gt; &lt;span class="n"&gt;parts&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;program&lt;/span&gt; &lt;span class="n"&gt;can&lt;/span&gt; &lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;these&lt;/span&gt; &lt;span class="n"&gt;functions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;twoSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Here&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;declare&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;twoSum&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;which&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;Returns&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="n"&gt;like&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;Takes&lt;/span&gt; &lt;span class="n"&gt;two&lt;/span&gt; &lt;span class="n"&gt;arguments&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;want&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;sum&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;two&lt;/span&gt; &lt;span class="n"&gt;elements&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;

&lt;span class="n"&gt;unordered_map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;We&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;hash&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;fast&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="n"&gt;structure&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;Stores&lt;/span&gt; &lt;span class="n"&gt;pairs&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;its&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;
&lt;span class="n"&gt;unordered_map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;means&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;both&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;
&lt;span class="nl"&gt;Example:&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;numMap&lt;/span&gt; &lt;span class="n"&gt;might&lt;/span&gt; &lt;span class="n"&gt;become&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;This&lt;/span&gt; &lt;span class="n"&gt;starts&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;loop&lt;/span&gt; &lt;span class="n"&gt;over&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="n"&gt;gives&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;We&lt;/span&gt; &lt;span class="n"&gt;calculate&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="n"&gt;complement&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;reach&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;E&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.,&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;complement&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;We&lt;/span&gt; &lt;span class="n"&gt;check&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt; &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="n"&gt;already&lt;/span&gt; &lt;span class="n"&gt;exists&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;complement&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;pair&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;indices&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;complement&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;ve&lt;/span&gt; &lt;span class="n"&gt;already&lt;/span&gt; &lt;span class="n"&gt;seen&lt;/span&gt;
&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;

&lt;span class="err"&gt;🧠&lt;/span&gt; &lt;span class="n"&gt;This&lt;/span&gt; &lt;span class="n"&gt;means&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;ve&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;two&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;sum&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;numMap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;no&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt; &lt;span class="n"&gt;yet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;Value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Close&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;no&lt;/span&gt; &lt;span class="n"&gt;pair&lt;/span&gt; &lt;span class="n"&gt;was&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;empty&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 &lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nums = [2, 7, 11, 15];
target = 9;
i = 0 → nums[i] = 2 → complement = 7 → not in map → add 2:0  
i = 1 → nums[i] = 7 → complement = 2 → found → return {0, 1}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Valid Parentheses &lt;em&gt;(Easy)&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/20" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This code checks whether brackets in a string are correctly closed.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;"()"&lt;/code&gt; → valid&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"(]"&lt;/code&gt; → invalid&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"({[]})"&lt;/code&gt; → valid&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Main Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Creates&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="nl"&gt;public:&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Makes&lt;/span&gt; &lt;span class="n"&gt;everything&lt;/span&gt; &lt;span class="n"&gt;below&lt;/span&gt; &lt;span class="n"&gt;publicly&lt;/span&gt; &lt;span class="n"&gt;accessible&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isValid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;This&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;isValid&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Takes&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.,&lt;/span&gt; &lt;span class="s"&gt;"(())"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Returns&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;parentheses&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;valid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;

&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;We&lt;/span&gt; &lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="n"&gt;lets&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Push&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;Pop&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;Access&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt; &lt;span class="n"&gt;added&lt;/span&gt; &lt;span class="n"&gt;element&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Loop&lt;/span&gt; &lt;span class="n"&gt;through&lt;/span&gt; &lt;span class="n"&gt;each&lt;/span&gt; &lt;span class="n"&gt;character&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'('&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'{'&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'['&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;push_back&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;opening&lt;/span&gt; &lt;span class="n"&gt;bracket&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;we&lt;/span&gt; &lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;empty&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;back&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;closing&lt;/span&gt; &lt;span class="n"&gt;bracket&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Check&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="nf"&gt;empty&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;then&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;invalid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Or&lt;/span&gt; &lt;span class="n"&gt;check&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;bracket&lt;/span&gt; &lt;span class="n"&gt;matches&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt; &lt;span class="n"&gt;open&lt;/span&gt; &lt;span class="n"&gt;one&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pop_back&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;brackets&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;remove&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt; &lt;span class="n"&gt;open&lt;/span&gt; &lt;span class="n"&gt;one&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;empty&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;empty&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;valid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;otherwise&lt;/span&gt; &lt;span class="err"&gt;—&lt;/span&gt; &lt;span class="n"&gt;invalid&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'('&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;')'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
           &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'['&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;']'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
           &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'{'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;'}'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Checks&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="n"&gt;form&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;valid&lt;/span&gt; &lt;span class="n"&gt;pair&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;string s = "({[]})";
( → push  
{ → push  
[ → push  
] → matches [ → pop  
} → matches { → pop  
) → matches ( → pop ✅  
→ Valid → returns true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Best Time to Buy and Sell Stock &lt;em&gt;(Easy)&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/121" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Purpose
&lt;/h3&gt;

&lt;p&gt;This code solves the problem:&lt;/p&gt;

&lt;p&gt;📈 &lt;strong&gt;Find the maximum profit from buying and selling a stock once.&lt;/strong&gt;&lt;br&gt;
(You can buy once and sell once — sell must be after buy)&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
If &lt;code&gt;prices = [7, 1, 5, 3, 6, 4]&lt;/code&gt; → max profit = &lt;code&gt;6 - 1 = 5&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Line-by-Line
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;vector&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;algorithm&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Includes&lt;/span&gt; &lt;span class="n"&gt;libraries&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;vectors&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;functions&lt;/span&gt; &lt;span class="n"&gt;like&lt;/span&gt; &lt;span class="n"&gt;min&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;max&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;public:&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;maxProfit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;function&lt;/span&gt; &lt;span class="n"&gt;receives&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;stock&lt;/span&gt; &lt;span class="n"&gt;prices&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="n"&gt;max&lt;/span&gt; &lt;span class="n"&gt;profit&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;max_profit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;min_price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Start&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="n"&gt;profit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;first&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;initial&lt;/span&gt; &lt;span class="n"&gt;minimum&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;max_profit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_profit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;min_price&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;min_price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min_price&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;For&lt;/span&gt; &lt;span class="n"&gt;each&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Calculate&lt;/span&gt; &lt;span class="n"&gt;potential&lt;/span&gt; &lt;span class="n"&gt;profit&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt; &lt;span class="n"&gt;max_profit&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;better&lt;/span&gt;
&lt;span class="n"&gt;Update&lt;/span&gt; &lt;span class="n"&gt;min_price&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;today&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;lower&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;max_profit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Return&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;best&lt;/span&gt; &lt;span class="n"&gt;profit&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;prices = [7, 1, 5, 3, 6, 4]
→ max profit = 5 ✅
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Valid Palindrome &lt;em&gt;(Easy)&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;a href="https://algo.monster/liteproblems/125" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Checks if a string is a palindrome, ignoring spaces, punctuation, and case.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 What’s a palindrome?
&lt;/h3&gt;

&lt;p&gt;A string that reads the same forward and backward.&lt;br&gt;
✅ &lt;code&gt;"A man, a plan, a canal: Panama"&lt;/code&gt;&lt;br&gt;
❌ &lt;code&gt;"race a car"&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Line-by-Line
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Solution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;public:&lt;/span&gt;
    &lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isPalindrome&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Takes&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;valid&lt;/span&gt; &lt;span class="n"&gt;palindrome&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Two&lt;/span&gt; &lt;span class="n"&gt;pointers&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Loop&lt;/span&gt; &lt;span class="n"&gt;until&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;pointers&lt;/span&gt; &lt;span class="n"&gt;meet&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isalnum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;isalnum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Skip&lt;/span&gt; &lt;span class="n"&gt;non&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;alphanumeric&lt;/span&gt; &lt;span class="n"&gt;characters&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nf"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tolower&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;tolower&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;Compare&lt;/span&gt; &lt;span class="n"&gt;characters&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;insensitive&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;equal&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;they&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;move&lt;/span&gt; &lt;span class="n"&gt;inward&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="err"&gt;👉&lt;/span&gt; &lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="n"&gt;characters&lt;/span&gt; &lt;span class="n"&gt;matched&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;palindrome&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"A man, a plan, a canal: Panama"
→ Cleaned: "amanaplanacanalpanama"
→ All characters match → returns true ✅
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 Computer Science Topics I'm Studying
&lt;/h2&gt;

&lt;p&gt;Focusing on &lt;strong&gt;low-level basics&lt;/strong&gt; to truly understand how computers work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Capacitor&lt;/li&gt;
&lt;li&gt;Diode&lt;/li&gt;
&lt;li&gt;Transistor&lt;/li&gt;
&lt;li&gt;LED&lt;/li&gt;
&lt;li&gt;Phototransistor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maybe I’m going too deep. But who knows—maybe I’ll be an engineer one day. In any case, I’m enjoying it.&lt;/p&gt;




&lt;h2&gt;
  
  
  💻 C++ Focus This Week
&lt;/h2&gt;

&lt;p&gt;I’m revisiting &lt;strong&gt;data types&lt;/strong&gt; — still not 100% confident when solving real problems. But it’s getting better.&lt;/p&gt;




&lt;p&gt;🈴 Weekly Chinese Vocabulary – 84 Words/Phrases&lt;br&gt;
Here are most of the 84 words/phrases I’ve memorized this week:&lt;/p&gt;

&lt;p&gt;Nǐ yǒu jǐ gè háizi?&lt;br&gt;&lt;br&gt;
Nǐ yǒu shénme àihào?&lt;br&gt;&lt;br&gt;
Nǐ qùguo Měiguó ma?&lt;br&gt;&lt;br&gt;
Nǐ de shǒujī hàomǎ shì duōshao?&lt;br&gt;&lt;br&gt;
Nǐ de yóuxiāng dìzhǐ shì shènme?&lt;br&gt;&lt;br&gt;
Xiànzài yǒu kòng ma?&lt;br&gt;&lt;br&gt;
Zuìjìn gōnzuò máng ma?&lt;br&gt;&lt;br&gt;
Nǐ měitiān jǐ diǎn shàngbāng?&lt;br&gt;&lt;br&gt;
Nǐ měitiān jǐ diǎn xiàbān?&lt;br&gt;&lt;br&gt;
Nǐ yǐqián zuòguo shénme gōngzuò?&lt;br&gt;&lt;br&gt;
Duì, bàituō le&lt;br&gt;&lt;br&gt;
Méi wèntí&lt;br&gt;&lt;br&gt;
Zhīdào le&lt;br&gt;&lt;br&gt;
Kěyǐ&lt;br&gt;&lt;br&gt;
Dāngrán kěyǐ&lt;br&gt;&lt;br&gt;
Yuánlái rúcǐ&lt;br&gt;&lt;br&gt;
Wǒ yě zhème rènwéi&lt;br&gt;&lt;br&gt;
Zhēn búcuò&lt;br&gt;&lt;br&gt;
Búyòng le&lt;br&gt;&lt;br&gt;
Wǒ bù míngbai&lt;br&gt;&lt;br&gt;
Wǒ bú zhème rènwéi&lt;br&gt;&lt;br&gt;
Bùxíng&lt;br&gt;&lt;br&gt;
Kěyǐ ma?&lt;br&gt;&lt;br&gt;
Nǐ néng bāng wǒ gè máng ma?&lt;br&gt;&lt;br&gt;
Bǎ mén guānshàng hǎo ma?&lt;br&gt;&lt;br&gt;
lái&lt;br&gt;&lt;br&gt;
Fēijī&lt;br&gt;&lt;br&gt;
shǎo&lt;br&gt;&lt;br&gt;
diěn&lt;br&gt;&lt;br&gt;
jiào&lt;br&gt;&lt;br&gt;
xiào&lt;br&gt;&lt;br&gt;
zài&lt;br&gt;&lt;br&gt;
cháng&lt;br&gt;&lt;br&gt;
ràng&lt;br&gt;&lt;br&gt;
xiūxi&lt;br&gt;&lt;br&gt;
zhāng&lt;br&gt;&lt;br&gt;
dào&lt;br&gt;&lt;br&gt;
yǐjīng&lt;br&gt;&lt;br&gt;
jué de&lt;br&gt;&lt;br&gt;
chàng gē&lt;br&gt;&lt;br&gt;
děng&lt;br&gt;&lt;br&gt;
hēi&lt;br&gt;&lt;br&gt;
bǐ&lt;br&gt;&lt;br&gt;
zhe&lt;br&gt;&lt;br&gt;
wài&lt;br&gt;&lt;br&gt;
zhǔnbèi&lt;br&gt;&lt;br&gt;
mǎshàng&lt;br&gt;&lt;br&gt;
zuì&lt;br&gt;&lt;br&gt;
tí&lt;br&gt;&lt;br&gt;
chū&lt;br&gt;&lt;br&gt;
yīn&lt;br&gt;&lt;br&gt;
hóng&lt;br&gt;&lt;br&gt;
shēng bìng&lt;br&gt;&lt;br&gt;
kuài lè&lt;br&gt;&lt;br&gt;
yuán&lt;br&gt;&lt;br&gt;
zhēn&lt;br&gt;&lt;br&gt;
duì&lt;br&gt;&lt;br&gt;
pǎobù&lt;br&gt;&lt;br&gt;
yánsè&lt;br&gt;&lt;br&gt;
lù&lt;br&gt;&lt;br&gt;
jièshào&lt;br&gt;&lt;br&gt;
yùndòng&lt;br&gt;&lt;br&gt;
zhèngzài&lt;br&gt;&lt;br&gt;
lǚyóu&lt;br&gt;&lt;br&gt;
kěnéng&lt;br&gt;&lt;br&gt;
qīng&lt;br&gt;&lt;br&gt;
shíjiān&lt;br&gt;&lt;br&gt;
měi&lt;br&gt;&lt;br&gt;
jiàn&lt;br&gt;&lt;br&gt;
qiāng&lt;br&gt;&lt;br&gt;
yǎnjing&lt;br&gt;&lt;br&gt;
zìxíngchē&lt;br&gt;&lt;br&gt;
kè&lt;br&gt;&lt;br&gt;
zhǎo&lt;br&gt;&lt;br&gt;
xīwàng&lt;br&gt;&lt;br&gt;
tiàowǔ&lt;br&gt;&lt;br&gt;
hái&lt;br&gt;&lt;br&gt;
cuò&lt;br&gt;&lt;br&gt;
shǒubiǎo&lt;br&gt;&lt;br&gt;
yīqǐ&lt;br&gt;&lt;br&gt;
gěi&lt;br&gt;&lt;br&gt;
gōngjīn&lt;br&gt;&lt;br&gt;
lí&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This week wasn't perfect, but it was &lt;strong&gt;real&lt;/strong&gt;.&lt;br&gt;
I didn’t try to do everything solo. I focused on &lt;strong&gt;learning deeply&lt;/strong&gt;, making steady progress, and setting up systems that will &lt;strong&gt;pay off long-term&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Next up: &lt;strong&gt;Refining my learning tools&lt;/strong&gt;, developing &lt;strong&gt;unpackly.com&lt;/strong&gt;, and pushing further into &lt;strong&gt;CS theory and algorithms&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Even if the world changes, I'll keep building.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Personal Plan - Project "Spark".</title>
      <dc:creator>Andrew</dc:creator>
      <pubDate>Wed, 25 Jun 2025 14:02:37 +0000</pubDate>
      <link>https://dev.to/feelsgood_6/personal-plan-project-spark-2g8m</link>
      <guid>https://dev.to/feelsgood_6/personal-plan-project-spark-2g8m</guid>
      <description>&lt;p&gt;The first week of my project, which I decided to name “Spark”, &lt;strong&gt;is about to begin.&lt;/strong&gt; This blog serves only one purpose — to track my progress over the course of one year. I’ll be starting almost from scratch, as I don’t have deep knowledge of programming or the IT field as a whole. Right now, I’m only capable of building a simple web application with basic front-end, back-end, and simple algorithms.&lt;/p&gt;

&lt;p&gt;There won’t be much text here, since my work will be focused, stripped of doubts and worries. In order not to burn out over the year, I’ve simplified the process as much as possible, using my analytical type of thinking only in the most critical and important moments. After all, one cannot completely shut off their mind — I don’t plan to become dull in the digital era by watching short videos and endlessly scrolling feeds.&lt;/p&gt;

&lt;p&gt;Alongside my tech studies, I’m also learning Chinese — 336 words per month, to be exact — and two test weeks have already been successfully completed. My plan is ambitious, but I believe it’s achievable. Let’s go. The project details will be revealed along the way.&lt;/p&gt;

&lt;p&gt;In a year or a year and a half, I might become qualified for FAANG companies, though I don’t have a strong desire to work there — or I might end up as no one. But I have nothing to lose; otherwise, I’ll simply continue as a tennis coach with over 10 years of professional career experience.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
