# Greedy Algorithm Study Guide
:::warning
[< Return to Home Page](https://hackmd.io/@siansiansu/HknJJm0W0)
:::
Selection Problems
------------------
Problems where the algorithm must make a series of choices, selecting the best option at each step.
- 🟨 [134\. Gas Station](https://leetcode.com/problems/gas-station/) \[[Solution](https://hackmd.io/@siansiansu/rkAPXW0zA)\]
- 🟥 [502\. IPO](https://leetcode.com/problems/ipo/) \[[Solution](https://hackmd.io/@siansiansu/Sk2-Ms9rC)\]
Optimization Problems
---------------------
Problems that involve finding the best solution among a set of possible solutions.
- 🟨 [1509\. Minimum Difference Between Largest and Smallest Value in Three Moves](https://leetcode.com/problems/minimum-difference-between-largest-and-smallest-value-in-three-moves/) \[[Solution](https://hackmd.io/@siansiansu/r1Gbz_MvA)\]
- 🟨 [3218\. Minimum Cost for Cutting Cake I](https://leetcode.com/problems/minimum-cost-for-cutting-cake-i/) \[[Solution](https://hackmd.io/@siansiansu/SyQ3qFWOR)\]
- 🟥 [3219\. Minimum Cost for Cutting Cake II](https://leetcode.com/problems/minimum-cost-for-cutting-cake-ii/) \[[Solution](https://hackmd.io/@siansiansu/ByR0ctbOC)\]
- 🟨 [3228\. Maximum Number of Operations to Move Ones to the End](https://leetcode.com/problems/maximum-number-of-operations-to-move-ones-to-the-end/) \[[Solution](https://hackmd.io/@siansiansu/ryEx_B5_0)\]
Matching Problems
-----------------
Problems involving pairing or assigning elements from different sets.
- 🟨 [826\. Most Profit Assigning Work](https://leetcode.com/problems/most-profit-assigning-work/) \[[Solution](https://hackmd.io/@siansiansu/ByN9-s18R)\]
Graph Problems
--------------
Problems that involve graph structures and can be solved using greedy approaches.
- 🟨 [2285\. Maximum Total Importance of Roads](https://leetcode.com/problems/maximum-total-importance-of-roads/) \[[Solution](https://hackmd.io/@siansiansu/r1IZjsjLC)\]
### Matrix Problems
A subset of graph problems dealing with 2D matrices.
- 🟨 [1605\. Find Valid Matrix Given Row and Column Sums](https://leetcode.com/problems/find-valid-matrix-given-row-and-column-sums/) \[[Solution](https://hackmd.io/@siansiansu/SJZbkqY_R)\]
Traversal Problems
------------------
Problems that involve moving through a structure in a specific manner.
- 🟨 [55\. Jump Game](https://leetcode.com/problems/jump-game/) \[[Solution](https://hackmd.io/@siansiansu/H12jLSfQC)\]
- 🟨 [45\. Jump Game II](https://leetcode.com/problems/jump-game-ii/) \[[Solution](https://hackmd.io/@siansiansu/r1A9n6dNC)\]
Sequential Decision Problems
----------------------------
Problems where decisions must be made in sequence, with each decision affecting future options.
- 🟩 [860\. Lemonade Change](https://leetcode.com/problems/lemonade-change/) \[[Solution](https://hackmd.io/@siansiansu/BJzhB7scC)\]
Problem Difficulty Legend
-------------------------
- 🟩 Easy
- 🟨 Medium
- 🟧 Medium-Hard
- 🟥 Hard
- ⬛ Very Hard
Additional Resources
--------------------
- [Introduction to Greedy Algorithms (Video)](https://www.youtube.com/watch?v=HzeK7g8cD0Y)
- [Greedy Algorithms Tutorial (GeeksforGeeks)](https://www.geeksforgeeks.org/greedy-algorithms/)
- [Greedy Algorithm Patterns for Coding Interviews](https://medium.com/algorithms-and-leetcode/greedy-algorithm-patterns-for-coding-interviews-35e92dd5f62a)