Morgan Stanley Interview Questions — 51 DSA Problems
49 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Morgan Stanley LeetCode questions for software engineering interviews.
- Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming
- Minimum Cost to Move Chips to The Same Position (EASY) — Array, Math, Greedy
- Find The Original Array of Prefix Xor (MEDIUM) — Array, Bit Manipulation
- Best Team With No Conflicts (MEDIUM) — Array, Dynamic Programming, Sorting
- Find Subarrays With Equal Sum (EASY) — Array, Hash Table
- Minimum Number of Lines to Cover Points (MEDIUM) — Array, Hash Table, Math, Dynamic Programming, Backtracking, Bit Manipulation, Geometry, Bitmask
- The Employee That Worked on the Longest Task (EASY) — Array
- Find the Longest Valid Obstacle Course at Each Position (HARD) — Array, Binary Search, Binary Indexed Tree
- Count Subarrays With Fixed Bounds (HARD) — Array, Queue, Sliding Window, Monotonic Queue
- Two Sum (EASY) — Array, Hash Table
- Merge Intervals (MEDIUM) — Array, Sorting
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- First Missing Positive (HARD) — Array, Hash Table
- Kth Largest Element in an Array (MEDIUM) — Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect
- 3Sum (MEDIUM) — Array, Two Pointers, Sorting
- Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting
- Make K-Subarray Sums Equal (MEDIUM) — Array, Math, Greedy, Sorting, Number Theory
- Contiguous Array (MEDIUM) — Array, Hash Table, Prefix Sum
- Minimum Number of Refueling Stops (HARD) — Array, Dynamic Programming, Greedy, Heap (Priority Queue)
- LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List
- Copy List with Random Pointer (MEDIUM) — Hash Table, Linked List
- Reverse String (EASY) — Two Pointers, String
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Remove Duplicates from Sorted Array (EASY) — Array, Two Pointers
- Stamping The Sequence (HARD) — String, Stack, Greedy, Queue
- Generate Parentheses (MEDIUM) — String, Dynamic Programming, Backtracking
- Kth Missing Positive Number (EASY) — Array, Binary Search
- Coin Change II (MEDIUM) — Array, Dynamic Programming
- Min Stack (MEDIUM) — Stack, Design
- Palindrome Linked List (EASY) — Linked List, Two Pointers, Stack, Recursion
- Valid Parentheses (EASY) — String, Stack
- Letter Combinations of a Phone Number (MEDIUM) — Hash Table, String, Backtracking
- Word Search (MEDIUM) — Array, String, Backtracking, Depth-First Search, Matrix
- Minimum Operations to Reduce X to Zero (MEDIUM) — Array, Hash Table, Binary Search, Sliding Window, Prefix Sum
- Number of Islands (MEDIUM) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
- Subarrays with K Different Integers (HARD) — Array, Hash Table, Sliding Window, Counting
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Steps to Make Array Non-decreasing (MEDIUM) — Array, Linked List, Stack, Monotonic Stack
- Meeting Rooms II (MEDIUM) — Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum
- Count of Range Sum (HARD) — Array, Binary Search, Divide and Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Set
- Rotate List (MEDIUM) — Linked List, Two Pointers
- Sort Colors (MEDIUM) — Array, Two Pointers, Sorting
- Next Greater Element I (EASY) — Array, Hash Table, Stack, Monotonic Stack
- Count of Integers (HARD) — Math, String, Dynamic Programming
- Decode Ways (MEDIUM) — String, Dynamic Programming
- Subarray Sum Equals K (MEDIUM) — Array, Hash Table, Prefix Sum
- Count Binary Substrings (EASY) — Two Pointers, String
- Subtree of Another Tree (EASY) — Tree, Depth-First Search, String Matching, Binary Tree, Hash Function
- Reverse Words in a String (MEDIUM) — Two Pointers, String
- House Robber (MEDIUM) — Array, Dynamic Programming
MS
Morgan Stanley
51 questions tracked49 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 51 of 51 questions
4ArrayDynamic ProgrammingSorting
6MediumMinimum Number of Lines to Cover Points
ArrayHash TableMathDynamic Programming+4
8HardFind the Longest Valid Obstacle Course at Each Position✓ Our Solution ArrayBinary SearchBinary Indexed Tree
9ArrayQueueSliding WindowMonotonic Queue
12Hash TableStringSliding Window
14ArrayDivide and ConquerSortingHeap (Priority Queue)+1
16ArrayHash TableStringSorting
18ArrayHash TablePrefix Sum
19ArrayDynamic ProgrammingGreedyHeap (Priority Queue)
20Hash TableLinked ListDesignDoubly-Linked List
23ArrayDivide and ConquerDynamic Programming
26StringDynamic ProgrammingBacktracking
30Linked ListTwo PointersStackRecursion
32Hash TableStringBacktracking
33ArrayStringBacktrackingDepth-First Search+1
34ArrayHash TableBinary SearchSliding Window+1
35ArrayDepth-First SearchBreadth-First SearchUnion Find+1
36ArrayHash TableSliding WindowCounting
37ArrayDynamic ProgrammingGreedy
38ArrayLinked ListStackMonotonic Stack
39MediumMeeting Rooms II
ArrayTwo PointersGreedySorting+2
40ArrayBinary SearchDivide and ConquerBinary Indexed Tree+3
43ArrayHash TableStackMonotonic Stack
44MathStringDynamic Programming
45StringDynamic Programming
46ArrayHash TablePrefix Sum
48TreeDepth-First SearchString MatchingBinary Tree+1
51Two PointersStringDynamic Programming