0% found this document useful (0 votes)
632 views

150 Questions - Data Structures

The document provides a list of 150 data structures and algorithms questions from LeetCode organized into different categories such as arrays, linked lists, binary search, sliding window, stacks and queues, trees, graphs, and dynamic programming. It encourages solving the problems to learn rather than just for jobs and notes that the questions are mostly internship-level, ranging from easy to medium difficulty. It aims to help with general problem solving skills.

Uploaded by

Black knight
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
632 views

150 Questions - Data Structures

The document provides a list of 150 data structures and algorithms questions from LeetCode organized into different categories such as arrays, linked lists, binary search, sliding window, stacks and queues, trees, graphs, and dynamic programming. It encourages solving the problems to learn rather than just for jobs and notes that the questions are mostly internship-level, ranging from easy to medium difficulty. It aims to help with general problem solving skills.

Uploaded by

Black knight
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

30dayscoding.

com

150 Questions: Data structures


Solve and understand these questions, make notes, watch solutions, and have fun. Don’t just
solve them to get a job, but to learn something new! These are mostly internship-level questions
(easy-medium), but will help you in general with problem solving!

Arrays
Easy
- https://leetcode.com/problems/roman-to-integer/
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/remove-duplicates-from-sorted-array/
- https://leetcode.com/problems/remove-element/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
- https://leetcode.com/problems/intersection-of-two-arrays-ii/
- https://leetcode.com/problems/single-number/
- https://leetcode.com/problems/contains-duplicate/
- https://leetcode.com/problems/plus-one/
- https://leetcode.com/problems/move-zeroes/
- https://leetcode.com/problems/rotate-image/

Medium
- https://leetcode.com/problems/3sum/
- https://leetcode.com/problems/4sum/
- https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
- https://leetcode.com/problems/group-anagrams/
- https://leetcode.com/problems/reduce-array-size-to-the-half/
- https://leetcode.com/problems/merge-intervals/

Linked list
Easy
30dayscoding.com

- https://leetcode.com/problems/delete-node-in-a-linked-list/
- https://leetcode.com/problems/remove-nth-node-from-end-of-list/
- https://leetcode.com/problems/merge-two-sorted-lists/
- https://leetcode.com/problems/palindrome-linked-list/
- https://leetcode.com/problems/linked-list-cycle/

Medium
- https://leetcode.com/problems/intersection-of-two-linked-lists/
- https://leetcode.com/problems/remove-linked-list-elements/
- https://leetcode.com/problems/middle-of-the-linked-list/
- https://leetcode.com/problems/merge-k-sorted-lists/

Binary search
Easy
- https://leetcode.com/problems/binary-search/
- https://leetcode.com/problems/intersection-of-two-arrays/
- https://leetcode.com/problems/first-bad-version/
- https://leetcode.com/problems/arranging-coins/
- https://leetcode.com/problems/search-insert-position/

Medium
- https://leetcode.com/problems/search-in-rotated-sorted-array/
- https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
- https://leetcode.com/problems/kth-smallest-element-in-a-bst/
- https://leetcode.com/problems/find-peak-element/
- https://leetcode.com/problems/split-array-largest-sum/

Sliding window
Read
- Leetcode Pattern 2 | Sliding Windows for Strings | by csgator | Leetcode Patterns
-
30dayscoding.com

Easy
- https://leetcode.com/problems/longest-substring-without-repeating-characters/
- https://leetcode.com/problems/find-all-anagrams-in-a-string/description/
- https://leetcode.com/problems/minimum-window-substring/description/
- https://leetcode.com/problems/count-number-of-nice-subarrays/

2 pointers
- https://leetcode.com/problems/intersection-of-two-arrays/
- https://leetcode.com/problems/maximum-ascending-subarray-sum/
- https://leetcode.com/problems/backspace-string-compare/
- https://leetcode.com/problems/long-pressed-name/
- https://leetcode.com/problems/fruit-into-baskets/
- https://leetcode.com/problems/max-consecutive-ones-iii/
- https://leetcode.com/problems/container-with-most-water/

Stacks, Queues
- Easy
- https://leetcode.com/problems/valid-parentheses/
- https://leetcode.com/problems/implement-queue-using-stacks/
- https://leetcode.com/problems/min-stack/

- Medium
- https://leetcode.com/problems/design-circular-queue/
- https://leetcode.com/problems/decode-string/
- https://leetcode.com/problems/open-the-lock/
- https://leetcode.com/problems/daily-temperatures/
- https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/

BFS, DFS
Read
30dayscoding.com

- Leetcode Pattern 1 | BFS + DFS == 25% of the problems — part 1


- Leetcode Pattern 1 | DFS + BFS == 25% of the problems — part 2

Questions
- https://leetcode.com/problems/flood-fill/
- https://leetcode.com/problems/binary-tree-preorder-traversal/
- https://leetcode.com/problems/number-of-islands/
- https://leetcode.com/problems/walls-and-gates/
- https://leetcode.com/problems/max-area-of-island/
- https://leetcode.com/problems/number-of-provinces/
- https://leetcode.com/problems/perfect-squares/
- https://leetcode.com/problems/course-schedule/
- https://www.geeksforgeeks.org/detect-cycle-undirected-graph/
- https://leetcode.com/problems/word-ladder/
- https://leetcode.com/problems/01-matrix/
- https://leetcode.com/problems/rotting-oranges/
- https://leetcode.com/problems/perfect-squares/
- https://leetcode.com/problems/all-paths-from-source-to-target/
- https://leetcode.com/problems/number-of-closed-islands/

Recursion
Easy
- https://leetcode.com/problems/fibonacci-number/
- https://leetcode.com/problems/reverse-string/
- https://leetcode.com/problems/swap-nodes-in-pairs/
- https://leetcode.com/problems/reverse-linked-list/
- https://leetcode.com/problems/search-in-a-binary-search-tree/
- https://leetcode.com/problems/climbing-stairs/
- https://leetcode.com/problems/powx-n/
30dayscoding.com

Backtracking
Read
- Leetcode Pattern 3 | Backtracking | by csgator | Leetcode Patterns
- A general approach to backtracking questions in Java (Subsets, Permutations,
Combination Sum, Palindrome Partitioning)

Easy
- https://leetcode.com/problems/word-search/
- https://leetcode.com/problems/subsets/
- https://leetcode.com/problems/subsets-ii/
- https://leetcode.com/problems/letter-case-permutation/

Medium
- https://leetcode.com/problems/combination-sum/
- https://leetcode.com/problems/letter-combinations-of-a-phone-number/
- https://leetcode.com/problems/combinations/
- https://leetcode.com/problems/combination-sum-ii/
- https://leetcode.com/problems/combination-sum-iii/
- https://leetcode.com/problems/combination-sum-iv/
- https://leetcode.com/problems/permutations/
- https://leetcode.com/problems/permutations-ii/
- https://leetcode.com/problems/next-permutation/
- https://leetcode.com/problems/n-queens/description/

Trees
Read
- Leetcode Pattern 0 | Iterative traversals on Trees | by csgator | Leetcode Patterns

Easy
- https://leetcode.com/problems/binary-tree-preorder-traversal/
- https://leetcode.com/problems/binary-tree-inorder-traversal/
30dayscoding.com

- https://leetcode.com/problems/binary-tree-postorder-traversal/
- https://leetcode.com/problems/validate-binary-search-tree/
- https://leetcode.com/problems/minimum-distance-between-bst-nodes/
- https://leetcode.com/problems/symmetric-tree/
- https://leetcode.com/problems/same-tree/
- https://leetcode.com/problems/path-sum/
- https://leetcode.com/problems/maximum-depth-of-binary-tree/
- https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/

- Medium
- https://leetcode.com/problems/validate-binary-search-tree/
- https://leetcode.com/problems/binary-search-tree-iterator/
- https://leetcode.com/problems/unique-binary-search-trees/
- https://leetcode.com/problems/serialize-and-deserialize-bst/
- https://leetcode.com/problems/binary-tree-right-side-view/
- https://leetcode.com/problems/unique-binary-search-trees/
- https://leetcode.com/problems/binary-search-tree-iterator/

Dynamic programming
Easy
- https://leetcode.com/problems/maximum-subarray/
- https://leetcode.com/problems/fibonacci-number/
- https://leetcode.com/problems/climbing-stairs/
- https://leetcode.com/problems/min-cost-climbing-stairs/
- https://leetcode.com/problems/n-th-tribonacci-number/

Medium
- https://leetcode.com/problems/coin-change/
- https://leetcode.com/problems/minimum-falling-path-sum/
- https://leetcode.com/problems/minimum-cost-for-tickets/
- https://leetcode.com/problems/2-keys-keyboard/
30dayscoding.com

- https://leetcode.com/problems/maximum-product-subarray/
- https://leetcode.com/problems/triangle/
- https://leetcode.com/problems/ones-and-zeroes/
- https://leetcode.com/problems/longest-arithmetic-subsequence/
- https://leetcode.com/problems/partition-equal-subset-sum/
- https://leetcode.com/problems/house-robber/
- https://leetcode.com/problems/decode-ways/
- https://leetcode.com/problems/word-break/
- https://leetcode.com/problems/edit-distance/
- https://leetcode.com/problems/longest-increasing-subsequence/

Graphs
Easy
- https://leetcode.com/problems/employee-importance/
- https://leetcode.com/problems/find-the-town-judge/

Medium
- https://leetcode.com/problems/course-schedule-ii/
- https://leetcode.com/problems/redundant-connection/
- https://leetcode.com/problems/surrounded-regions/
- https://leetcode.com/problems/accounts-merge/
- https://leetcode.com/problems/network-delay-time/
- https://leetcode.com/problems/is-graph-bipartite/
- https://leetcode.com/problems/find-eventual-safe-states/
- https://leetcode.com/problems/keys-and-rooms/
- https://leetcode.com/problems/possible-bipartition/
- https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/
- https://leetcode.com/problems/rotting-oranges/
- https://leetcode.com/problems/number-of-operations-to-make-network-connected/
30dayscoding.com

Additional questions
- https://leetcode.com/problems/longest-common-prefix/
- https://leetcode.com/problems/implement-trie-prefix-tree/

Random
- https://leetcode.com/explore/

Videos
Some long videos, to revise or study in one long stretch!
- Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer
- Introduction to Data Structures & Algorithms | Course Details & Prerequisites
- Algorithms Course - Graph Theory Tutorial from a Google Engineer

You might also like