<?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>Forem: test test</title>
    <description>The latest articles on Forem by test test (@test_test_c866028a70d4bd5).</description>
    <link>https://forem.com/test_test_c866028a70d4bd5</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%2F1868886%2Fd75e9818-1094-4062-9f65-47cfd41200e6.jpg</url>
      <title>Forem: test test</title>
      <link>https://forem.com/test_test_c866028a70d4bd5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/test_test_c866028a70d4bd5"/>
    <language>en</language>
    <item>
      <title>Array</title>
      <dc:creator>test test</dc:creator>
      <pubDate>Sun, 11 Aug 2024 05:22:59 +0000</pubDate>
      <link>https://forem.com/test_test_c866028a70d4bd5/array-2ahe</link>
      <guid>https://forem.com/test_test_c866028a70d4bd5/array-2ahe</guid>
      <description>&lt;p&gt;Here are the LeetCode equivalents for the problems mentioned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Two Sum&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/two-sum_839653" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/two-sum_839653&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/two-sum/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/two-sum/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/stocks-are-profitable_893405" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/stocks-are-profitable_893405&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Merge Sorted Array&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/ninja-and-sorted-arrays_1214628" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/ninja-and-sorted-arrays_1214628&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/merge-sorted-array/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/merge-sorted-array/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pascal's Triangle&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/pascal-s-triangle_1089580" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/pascal-s-triangle_1089580&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/pascals-triangle/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/pascals-triangle/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Stocks Are Profitable&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/stocks-are-profitable_893405" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/stocks-are-profitable_893405&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Single Number&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/occurs-once_1214969" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/occurs-once_1214969&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/single-number/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/single-number/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Contains Duplicate&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: No exact equivalent found.
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/contains-duplicate/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/contains-duplicate/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Majority Element&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/majority-element_842495" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/majority-element_842495&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/majority-element/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/majority-element/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Find the Duplicate Number&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/duplicate-in-array_893397" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/duplicate-in-array_893397&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/find-the-duplicate-number/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/find-the-duplicate-number/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Move Zeros&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding Ninjas: &lt;a href="https://www.codingninjas.com/codestudio/problems/move-zeros-to-left_1094877" rel="noopener noreferrer"&gt;https://www.codingninjas.com/codestudio/problems/move-zeros-to-left_1094877&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LeetCode: &lt;a href="https://leetcode.com/problems/move-zeroes/" rel="noopener noreferrer"&gt;https://leetcode.com/problems/move-zeroes/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These are the corresponding LeetCode problems for the Coding Ninjas problems you've mentioned.&lt;/p&gt;

</description>
      <category>array</category>
      <category>interview</category>
      <category>beginners</category>
      <category>dsa</category>
    </item>
    <item>
      <title>Master in array</title>
      <dc:creator>test test</dc:creator>
      <pubDate>Sat, 10 Aug 2024 08:03:21 +0000</pubDate>
      <link>https://forem.com/test_test_c866028a70d4bd5/master-in-array-5akh</link>
      <guid>https://forem.com/test_test_c866028a70d4bd5/master-in-array-5akh</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;1. Basics of Arrays&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Concept&lt;/strong&gt;: Understanding what arrays are, how they are stored, and basic operations like insertion, deletion, and traversal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two-Dimensional Arrays&lt;/strong&gt;: Learning about how 2D arrays are stored and accessed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traversal Problems&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wave Form Traversal&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/diagonal-traverse/" rel="noopener noreferrer"&gt;LeetCode Problem - Diagonal Traverse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spiral Form Traversal&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/spiral-matrix/" rel="noopener noreferrer"&gt;LeetCode Problem - Spiral Matrix&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Basics of Strings&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Concept&lt;/strong&gt;: Understanding how strings are stored in memory and basic string operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic Problems&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reverse a String&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/reverse-string/" rel="noopener noreferrer"&gt;LeetCode Problem - Reverse String&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check if a String is a Palindrome&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/valid-palindrome/" rel="noopener noreferrer"&gt;LeetCode Problem - Valid Palindrome&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remove Vowels from a String&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/remove-vowels-from-a-string/" rel="noopener noreferrer"&gt;LeetCode Problem - Remove Vowels from a String&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice Link&lt;/strong&gt;: &lt;a href="https://leetcode.com/tag/string/" rel="noopener noreferrer"&gt;LeetCode - Strings Problems&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Sorting Algorithms&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Selection Sort&lt;/strong&gt;: &lt;a href="https://leetcode.com/discuss/general-discussion/1159272/selection-sort-algorithm-explanation-and-implementation" rel="noopener noreferrer"&gt;LeetCode Discussion on Selection Sort&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bubble Sort&lt;/strong&gt;: &lt;a href="https://leetcode.com/discuss/general-discussion/1126826/bubble-sort-algorithm-explanation-and-implementation" rel="noopener noreferrer"&gt;LeetCode Discussion on Bubble Sort&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Insertion Sort&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/insertion-sort-list/" rel="noopener noreferrer"&gt;LeetCode Problem - Insertion Sort List&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice Link&lt;/strong&gt;: &lt;a href="https://leetcode.com/tag/sorting/" rel="noopener noreferrer"&gt;LeetCode - Sorting Problems&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Time and Space Complexity&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Learning about the analysis of algorithms in terms of time and space complexity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Algorithms on Arrays&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Binary Search&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/binary-search/" rel="noopener noreferrer"&gt;LeetCode Problem - Binary Search&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dutch National Flag Algorithm&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sort 0s and 1s&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/sort-colors/" rel="noopener noreferrer"&gt;LeetCode Problem - Sort Colors (0s and 1s variation)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sort 0s, 1s, and 2s&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/sort-colors/" rel="noopener noreferrer"&gt;LeetCode Problem - Sort Colors&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Two Pointers Technique&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pair Sum&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/two-sum/" rel="noopener noreferrer"&gt;LeetCode Problem - Two Sum&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Triplet Sum&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/3sum/" rel="noopener noreferrer"&gt;LeetCode Problem - 3Sum&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Sliding Window Algorithm&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/minimum-size-subarray-sum/" rel="noopener noreferrer"&gt;LeetCode Problem - Minimum Size Subarray Sum&lt;/a&gt;
&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Kadane's Algorithm&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/maximum-subarray/" rel="noopener noreferrer"&gt;LeetCode Problem - Maximum Subarray&lt;/a&gt;
&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6. Applications on Arrays&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Overlapping Intervals&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/merge-intervals/" rel="noopener noreferrer"&gt;LeetCode Problem - Merge Intervals&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Second Largest Element in an Array&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/kth-largest-element-in-an-array/" rel="noopener noreferrer"&gt;LeetCode Problem - Kth Largest Element in an Array&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimum Number of Platforms&lt;/strong&gt;: &lt;a href="https://leetcode.com/discuss/interview-question/356981/Google-or-Onsite-or-Minimum-Platforms-Required-for-Railway-Station" rel="noopener noreferrer"&gt;LeetCode Problem - Minimum Number of Platforms (Discussion and Custom Problems)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7. Applications on Multi-Dimensional Arrays&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Search in Row-Wise and Column-Wise Sorted Matrix&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/search-a-2d-matrix-ii/" rel="noopener noreferrer"&gt;LeetCode Problem - Search a 2D Matrix II&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;In-place Rotate Matrix by 90 Degrees&lt;/strong&gt;: &lt;a href="https://leetcode.com/problems/rotate-image/" rel="noopener noreferrer"&gt;LeetCode Problem - Rotate Image&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Matrix Median&lt;/strong&gt;: &lt;a href="https://leetcode.com/discuss/interview-question/431619/Matrix-Median-Leetcode" rel="noopener noreferrer"&gt;LeetCode Discussion - Matrix Median&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Other Questions&lt;/strong&gt;: &lt;a href="https://leetcode.com/tag/matrix/" rel="noopener noreferrer"&gt;LeetCode - 2D Arrays Problems&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8. Applications on Strings&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Longest Substring Without Repeating Characters&lt;/strong&gt; (Sliding Window): &lt;a href="https://leetcode.com/problems/longest-substring-without-repeating-characters/" rel="noopener noreferrer"&gt;LeetCode Problem - Longest Substring Without Repeating Characters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anagram Difference&lt;/strong&gt; (Hashmap): &lt;a href="https://leetcode.com/problems/minimum-number-of-steps-to-make-two-strings-anagram/" rel="noopener noreferrer"&gt;LeetCode Problem - Minimum Number of Steps to Make Two Strings Anagram&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shortest Substring with All Characters&lt;/strong&gt; (Two Pointers): &lt;a href="https://leetcode.com/problems/minimum-window-substring/" rel="noopener noreferrer"&gt;LeetCode Problem - Minimum Window Substring&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimum Operations to Make Strings Equal&lt;/strong&gt; (Hashmap): &lt;a href="https://leetcode.com/problems/minimum-operations-to-make-array-equal/" rel="noopener noreferrer"&gt;LeetCode Problem - Minimum Operations to Make Array Equal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Other Questions&lt;/strong&gt;: &lt;a href="https://leetcode.com/tag/string/" rel="noopener noreferrer"&gt;LeetCode - String Problems&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This roadmap now provides a path to mastering arrays and strings using LeetCode problems, which are widely recognized for interview preparation.&lt;/p&gt;

</description>
      <category>dsa</category>
      <category>algorithms</category>
      <category>interview</category>
      <category>array</category>
    </item>
    <item>
      <title>Mastering Dynamic Programming: Patterns and Applications</title>
      <dc:creator>test test</dc:creator>
      <pubDate>Thu, 08 Aug 2024 12:45:48 +0000</pubDate>
      <link>https://forem.com/test_test_c866028a70d4bd5/mastering-dynamic-programming-patterns-and-applications-1k2b</link>
      <guid>https://forem.com/test_test_c866028a70d4bd5/mastering-dynamic-programming-patterns-and-applications-1k2b</guid>
      <description>&lt;p&gt;Dynamic Programming (DP) is a powerful technique used to solve complex problems by breaking them down into simpler subproblems. In this blog, we delve into various DP patterns including 1D DP, 2D grids, subsets, strings, and more. We'll explore real-world applications and provide detailed examples to help you understand and implement these patterns in your coding projects. Join us as we unravel the intricacies of DP and enhance your problem-solving skills.&lt;/p&gt;




&lt;h3&gt;
  
  
  Dynamic Programming All Patterns
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pattern 1: 1D Dynamic Programming
&lt;/h4&gt;

&lt;p&gt;1D Dynamic Programming is often the starting point for beginners. Here, you deal with problems where the solution can be represented as a linear progression, often involving sequences or simple state transitions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Climbing Stairs&lt;/strong&gt;: A classic problem that demonstrates how each step depends on the previous one or two steps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/climbing-stairs/" rel="noopener noreferrer"&gt;Climbing Stairs (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Frog Jump&lt;/strong&gt;: Similar to climbing stairs but with varying jump lengths.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/frog-jump/" rel="noopener noreferrer"&gt;Frog Jump (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Frog Jump with K&lt;/strong&gt;: Extends the basic Frog Jump problem to allow jumps of up to K steps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/minimum-number-of-jumps-to-reach-end-of-a-given-array/" rel="noopener noreferrer"&gt;Frog Jump with K Steps (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Maximum Sum of Non-Adjacent Elements&lt;/strong&gt;: Find the maximum sum possible by selecting elements that are not adjacent in an array.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/house-robber/" rel="noopener noreferrer"&gt;House Robber (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;House Robber&lt;/strong&gt;: A variant of the above problem where you're a robber trying to maximize your loot without robbing two adjacent houses.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/house-robber/" rel="noopener noreferrer"&gt;House Robber (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Ninja's Training 2&lt;/strong&gt;: A more complex problem where each action affects future decisions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.codingninjas.com/codestudio/problems/ninja-s-training_3621003" rel="noopener noreferrer"&gt;Ninja's Training (Coding Ninjas)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems teach you to think in terms of cumulative solutions, where the current state is determined by previous decisions.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 2: Dynamic Programming on Grids / 2D
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Unique Paths&lt;/strong&gt;: Calculate the number of unique paths from the top-left to the bottom-right of a grid.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/unique-paths/" rel="noopener noreferrer"&gt;Unique Paths (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Minimum Path Sum in Grid&lt;/strong&gt;: Find the minimum path sum from the top-left to the bottom-right of a grid.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/minimum-path-sum/" rel="noopener noreferrer"&gt;Minimum Path Sum (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Triangle (Fixed Starting Point and Variable Ending Point)&lt;/strong&gt;: Find the minimum path sum from the top to bottom of a triangle.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/triangle/" rel="noopener noreferrer"&gt;Triangle (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Cherry Pickup 2&lt;/strong&gt;: A more complex problem involving two players collecting maximum cherries on a grid.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/cherry-pickup-ii/" rel="noopener noreferrer"&gt;Cherry Pickup 2 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems extend the 1D dynamic programming approach to a 2D grid, requiring you to consider both row and column transitions.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 3: Dynamic Programming on Subsets / Subsequences
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Subset Sum Equals to Target&lt;/strong&gt;: Determine if there exists a subset with a sum equal to the target.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/subset-sum-problem-dp-25/" rel="noopener noreferrer"&gt;Subset Sum (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Partition Equals Subset Sum&lt;/strong&gt;: Partition an array into two subsets with equal sums.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/partition-equal-subset-sum/" rel="noopener noreferrer"&gt;Partition Equal Subset Sum (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Partition a Subset into 2 Subset with Minimum Absolute Sum Difference&lt;/strong&gt;: Minimize the difference between the sums of two subsets.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/partition-array-into-two-arrays-to-minimize-sum-difference/" rel="noopener noreferrer"&gt;Partition a Subset into 2 Subset with Minimum Absolute Sum Difference (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Count Subsequences with Sum K&lt;/strong&gt;: Count the number of subsequences with a sum equal to K.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/count-subsequences-sum-equal-k/" rel="noopener noreferrer"&gt;Count Subsequences with Sum K (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Count Partitions with Given Difference&lt;/strong&gt;: Count the number of ways to partition an array into subsets with a given difference.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/count-of-subsets-with-given-difference/" rel="noopener noreferrer"&gt;Count Partitions with Given Difference (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems involve finding specific subsets or subsequences that satisfy given conditions, often requiring a bitmask or combinatorial approach.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 4: Dynamic Programming on Strings
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Print Length of Longest Common Subsequence&lt;/strong&gt;: Calculate the length of the longest common subsequence between two strings.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-common-subsequence/" rel="noopener noreferrer"&gt;Longest Common Subsequence (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Print Longest Common Subsequence&lt;/strong&gt;: Print the longest common subsequence itself.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-common-subsequence/" rel="noopener noreferrer"&gt;Longest Common Subsequence (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Longest Palindromic Subsequence&lt;/strong&gt;: Find the longest subsequence that reads the same forward and backward.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-palindromic-subsequence/" rel="noopener noreferrer"&gt;Longest Palindromic Subsequence (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Minimum Insertion to Make String Palindrome&lt;/strong&gt;: Find the minimum number of insertions needed to make a string palindrome.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/minimum-insertion-steps-to-make-a-string-palindrome/" rel="noopener noreferrer"&gt;Minimum Insertion to Make String Palindrome (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Minimum Insertions/Deletions to Convert String A -&amp;gt; B&lt;/strong&gt;: Find the minimum number of insertions and deletions required to transform one string into another.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/minimum-number-deletions-insertions-transform-one-string-another/" rel="noopener noreferrer"&gt;Minimum Insertions/Deletions to Convert String A -&amp;gt; B (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems focus on string manipulations, often involving comparisons and transformations between multiple strings.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 5: Dynamic Programming on Stocks
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock (Buy Once and Sell Once)&lt;/strong&gt;: Maximize profit by buying and selling a stock once.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock/" rel="noopener noreferrer"&gt;Best Time to Buy and Sell Stock (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock 2 (Unlimited Time Buy &amp;amp; Sell)&lt;/strong&gt;: Maximize profit by buying and selling stocks multiple times.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/" rel="noopener noreferrer"&gt;Best Time to Buy and Sell Stock 2 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock 3 (At Max 2 Times Buy &amp;amp; Sell)&lt;/strong&gt;: Maximize profit by buying and selling stocks up to two times.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/" rel="noopener noreferrer"&gt;Best Time to Buy and Sell Stock 3 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock 4 (K times Buy &amp;amp; Sell)&lt;/strong&gt;: Maximize profit by buying and selling stocks up to K times.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/" rel="noopener noreferrer"&gt;Best Time to Buy and Sell Stock 4 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Best Time to Buy and Sell Stock 5 (Buy &amp;amp; Sell with Cooldown)&lt;/strong&gt;: Maximize profit with a cooldown period between transactions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/" rel="noopener noreferrer"&gt;Best Time to Buy and Sell Stock 5 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems involve optimizing stock transactions to maximize profit under various constraints.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 6: Dynamic Programming on Longest Increasing Subsequences (LIS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Print Length of Longest Increasing Subsequence&lt;/strong&gt;: Calculate the length of the longest increasing subsequence in an array.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-increasing-subsequence/" rel="noopener noreferrer"&gt;Longest Increasing Subsequence (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Print Longest Increasing Subsequence&lt;/strong&gt;: Print the longest increasing subsequence itself.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-increasing-subsequence/" rel="noopener noreferrer"&gt;Longest Increasing Subsequence (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Longest Divisible Subset&lt;/strong&gt;: Find the largest subset of numbers where each pair is divisible.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/largest-divisible-subset/" rel="noopener noreferrer"&gt;Longest Divisible Subset (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Longest String Chain&lt;/strong&gt;: Find the longest chain of strings where each string is formed by adding one character to the previous string.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/longest-string-chain/" rel="noopener noreferrer"&gt;Longest String Chain (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Longest Bitonic Subsequence&lt;/strong&gt;: Find the longest subsequence that first increases and then decreases.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/longest-bitonic-subsequence-dp-15/" rel="noopener noreferrer"&gt;Longest Bitonic Subsequence (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems focus on finding and manipulating sequences where elements&lt;/p&gt;

&lt;p&gt;follow a specific order.&lt;/p&gt;




&lt;h4&gt;
  
  
  Pattern 7: Hardest Dynamic Programming on Partition
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Matrix Chain Multiplication&lt;/strong&gt;: Determine the most efficient way to multiply a series of matrices.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/matrix-chain-multiplication-dp-8/" rel="noopener noreferrer"&gt;Matrix Chain Multiplication (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Minimum Cost to Cut the Stick&lt;/strong&gt;: Find the minimum cost to cut a stick at specified positions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/minimum-cost-to-cut-a-stick/" rel="noopener noreferrer"&gt;Minimum Cost to Cut the Stick (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Burst Balloons&lt;/strong&gt;: Maximize the coins obtained by bursting balloons in a certain order.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/burst-balloons/" rel="noopener noreferrer"&gt;Burst Balloons (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Evaluate Boolean&lt;/strong&gt;: Evaluate the number of ways to parenthesize a boolean expression.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/boolean-parenthesization-problem-dp-37/" rel="noopener noreferrer"&gt;Evaluate Boolean (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Palindrome Partitioning 2&lt;/strong&gt;: Minimize the cuts needed to partition a string into palindromes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/palindrome-partitioning-ii/" rel="noopener noreferrer"&gt;Palindrome Partitioning 2 (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems often involve breaking down a larger problem into smaller subproblems, with a focus on minimizing or maximizing a particular value.&lt;/p&gt;




&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;




&lt;p&gt;Dynamic Programming is a vast topic, but by mastering these patterns, you can tackle almost any DP problem with confidence. Start with the basics, build your understanding of each pattern, and practice relentlessly. With time, you'll find that what once seemed complex becomes second nature, empowering you to solve even the most challenging problems efficiently.&lt;/p&gt;

</description>
      <category>dynamic</category>
      <category>algorithms</category>
      <category>dynamicprogramming</category>
      <category>dsa</category>
    </item>
    <item>
      <title>Mastering Dynamic Programming: A Comprehensive Guide to All Patterns</title>
      <dc:creator>test test</dc:creator>
      <pubDate>Thu, 08 Aug 2024 12:01:37 +0000</pubDate>
      <link>https://forem.com/test_test_c866028a70d4bd5/mastering-dynamic-programming-a-comprehensive-guide-to-all-patterns-5ech</link>
      <guid>https://forem.com/test_test_c866028a70d4bd5/mastering-dynamic-programming-a-comprehensive-guide-to-all-patterns-5ech</guid>
      <description>&lt;h3&gt;
  
  
  Pattern 1: 1D Dynamic Programming
&lt;/h3&gt;

&lt;p&gt;1D Dynamic Programming is often the starting point for beginners. Here, you deal with problems where the solution can be represented as a linear progression, often involving sequences or simple state transitions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Climbing Stairs&lt;/strong&gt;: A classic problem that demonstrates how each step depends on the previous one or two steps.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/climbing-stairs/" rel="noopener noreferrer"&gt;Climbing Stairs (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Frog Jump&lt;/strong&gt;: Similar to climbing stairs but with varying jump lengths.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/frog-jump/" rel="noopener noreferrer"&gt;Frog Jump (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Frog Jump with K&lt;/strong&gt;: Extends the basic Frog Jump problem to allow jumps of up to K steps.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.geeksforgeeks.org/minimum-number-of-jumps-to-reach-end-of-a-given-array/" rel="noopener noreferrer"&gt;Frog Jump with K Steps (GeeksforGeeks)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Maximum Sum of Non-Adjacent Elements&lt;/strong&gt;: Find the maximum sum possible by selecting elements that are not adjacent in an array.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/house-robber/" rel="noopener noreferrer"&gt;House Robber (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;House Robber&lt;/strong&gt;: A variant of the above problem where you're a robber trying to maximize your loot without robbing two adjacent houses.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://leetcode.com/problems/house-robber/" rel="noopener noreferrer"&gt;House Robber (LeetCode)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Ninja's Training 2&lt;/strong&gt;: A more complex problem where each action affects future decisions.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;a href="https://www.codingninjas.com/codestudio/problems/ninja-s-training_3621003" rel="noopener noreferrer"&gt;Ninja's Training (Coding Ninjas)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;: These problems teach you to think in terms of cumulative solutions, where the current state is determined by previous decisions.&lt;/p&gt;

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