Salesforce Interview Questions — 100 DSA Problems 94 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked Salesforce LeetCode questions for software engineering interviews.
Word Break (MEDIUM) — Array, Hash Table, String, Dynamic Programming, Trie, Memoization Subarray Product Less Than K (MEDIUM) — Array, Binary Search, Sliding Window, Prefix Sum String Compression (MEDIUM) — Two Pointers, String LFU Cache (HARD) — Hash Table, Linked List, Design, Doubly-Linked List Distinct Subsequences (HARD) — String, Dynamic Programming Merge Intervals (MEDIUM) — Array, Sorting LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting Number of Islands (MEDIUM) — Array, Depth-First Search, Breadth-First Search, Union Find, Matrix Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window Maximum Frequency Stack (HARD) — Hash Table, Stack, Design, Ordered Set Count the Number of Fair Pairs (MEDIUM) — Array, Two Pointers, Binary Search, Sorting Palindromic Substrings (MEDIUM) — Two Pointers, String, Dynamic Programming Design a Text Editor (HARD) — Linked List, String, Stack, Design, Simulation, Doubly-Linked List Height Checker (EASY) — Array, Sorting, Counting Sort Check If a Number Is Majority Element in a Sorted Array (EASY) — Array, Binary Search Beautiful Towers I (MEDIUM) — Array, Stack, Monotonic Stack Beautiful Towers II (MEDIUM) — Array, Stack, Monotonic Stack Course Schedule II (MEDIUM) — Depth-First Search, Breadth-First Search, Graph, Topological Sort Check Whether Two Strings are Almost Equivalent (EASY) — Hash Table, String, Counting Split Array Largest Sum (HARD) — Array, Binary Search, Dynamic Programming, Greedy, Prefix Sum Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming Valid Parentheses (EASY) — String, Stack Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack Kth Largest Element in an Array (MEDIUM) — Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect Beautiful Arrangement (MEDIUM) — Array, Dynamic Programming, Backtracking, Bit Manipulation, Bitmask Binary Tree Maximum Path Sum (HARD) — Dynamic Programming, Tree, Depth-First Search, Binary Tree Maximum Product of Three Numbers (EASY) — Array, Math, Sorting Integer to Roman (MEDIUM) — Hash Table, Math, String Asteroid Collision (MEDIUM) — Array, Stack, Simulation Largest Number (MEDIUM) — Array, String, Greedy, Sorting 3Sum (MEDIUM) — Array, Two Pointers, Sorting Coin Change (MEDIUM) — Array, Dynamic Programming, Breadth-First Search Meeting Rooms II (MEDIUM) — Array, Two Pointers, Greedy, Sorting, Heap (Priority Queue), Prefix Sum Task Scheduler (MEDIUM) — Array, Hash Table, Greedy, Sorting, Heap (Priority Queue), Counting Longest Palindromic Substring (MEDIUM) — Two Pointers, String, Dynamic Programming Minimum Window Substring (HARD) — Hash Table, String, Sliding Window Count Palindromic Subsequences (HARD) — String, Dynamic Programming Validate Binary Search Tree (MEDIUM) — Tree, Depth-First Search, Binary Search Tree, Binary Tree Top K Frequent Elements (MEDIUM) — Array, Hash Table, Divide and Conquer, Sorting, Heap (Priority Queue), Bucket Sort, Counting, Quickselect Decode Ways (MEDIUM) — String, Dynamic Programming Min Stack (MEDIUM) — Stack, Design Maximal Square (MEDIUM) — Array, Dynamic Programming, Matrix IPO (HARD) — Array, Greedy, Sorting, Heap (Priority Queue) Maximize Greatness of an Array (MEDIUM) — Array, Two Pointers, Greedy, Sorting Product of Array Except Self (MEDIUM) — Array, Prefix Sum Reconstruct Original Digits from English (MEDIUM) — Hash Table, Math, String Is Subsequence (EASY) — Two Pointers, String, Dynamic Programming Partition Array Into Two Arrays to Minimize Sum Difference (HARD) — Array, Two Pointers, Binary Search, Dynamic Programming, Bit Manipulation, Ordered Set, Bitmask Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search S
Salesforce 100 questions tracked 94 with solutions
📊 All Time 100 📅 Last 6 Months 41 🔥 Last 3 Months 14 ⚡ Last 30 Days 7
Frequency scoreSorted highest → lowest frequency ✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
1 Array Hash Table String Dynamic Programming +2
2 Array Binary Search Sliding Window Prefix Sum
4 Hash Table Linked List Design Doubly-Linked List
5 String Dynamic Programming
7 Hash Table Linked List Design Doubly-Linked List
8 Array Hash Table String Sorting
9 Array Depth-First Search Breadth-First Search Union Find +1
10 Hash Table String Sliding Window
11 Hash Table Stack Design Ordered Set
12 Array Two Pointers Binary Search Sorting
13 Two Pointers String Dynamic Programming
14 Linked List String Stack Design +2
15 Array Sorting Counting Sort
16 Easy Check If a Number Is Majority Element in a Sorted Array
Array Binary Search
17 Array Stack Monotonic Stack
18 Array Stack Monotonic Stack
19 Depth-First Search Breadth-First Search Graph Topological Sort
21 Array Binary Search Dynamic Programming Greedy +1
24 Array Two Pointers Dynamic Programming Stack +1
25 Array Divide and Conquer Sorting Heap (Priority Queue) +1
26 Array Dynamic Programming Backtracking Bit Manipulation +1
27 Dynamic Programming Tree Depth-First Search Binary Tree
33 Array Dynamic Programming Breadth-First Search
34 Medium Meeting Rooms II
Array Two Pointers Greedy Sorting +2
35 Array Hash Table Greedy Sorting +2
36 Two Pointers String Dynamic Programming
37 Hash Table String Sliding Window
38 String Dynamic Programming
39 Tree Depth-First Search Binary Search Tree Binary Tree
40 Array Hash Table Divide and Conquer Sorting +4
41 String Dynamic Programming
43 Array Dynamic Programming Matrix
44 Array Greedy Sorting Heap (Priority Queue)
45 Array Two Pointers Greedy Sorting
48 Two Pointers String Dynamic Programming
49 Hard Partition Array Into Two Arrays to Minimize Sum Difference ✓ Our Solution Array Two Pointers Binary Search Dynamic Programming +3
55 Array Dynamic Programming Greedy
56 Array Stack Monotonic Stack
57 Array Depth-First Search Breadth-First Search Union Find +1
58 Linked List Tree Depth-First Search Breadth-First Search +1
61 Linked List Divide and Conquer Heap (Priority Queue) Merge Sort
63 Array Breadth-First Search Matrix
64 Hash Table Tree Depth-First Search Breadth-First Search +1
65 Hard Design In-Memory File System
Hash Table String Design Trie +1
67 Two Pointers Design Sorting Heap (Priority Queue) +1
68 Tree Depth-First Search Binary Tree
71 Array Binary Search Sorting Heap (Priority Queue) +1
72 Medium Construct Binary Tree from Preorder and Inorder Traversal ✓ Our Solution Array Hash Table Divide and Conquer Tree +1
74 Medium Graph Valid Tree
Depth-First Search Breadth-First Search Union Find Graph
75 String Tree Depth-First Search Breadth-First Search +2
76 String Dynamic Programming Greedy Recursion
77 Medium Range Addition
Array Prefix Sum
80 Array Backtracking Bit Manipulation
81 Array Dynamic Programming Matrix
82 Array Dynamic Programming Greedy
83 Medium Pairs of Songs With Total Durations Divisible by 60 ✓ Our Solution Array Hash Table Counting
85 Linked List Stack Tree Depth-First Search +1
86 Array Hash Table String Binary Search +3
88 Array Hash Table Math Design +1
89 Array Hash Table Divide and Conquer Sorting +1
92 Array Divide and Conquer Binary Indexed Tree Segment Tree +3
93 Array Hash Table Sorting Counting
94 Math String Dynamic Programming Recursion +1
96 Medium Walls and Gates
Array Breadth-First Search Matrix
98 Array Math Dynamic Programming Recursion +1
99 String Dynamic Programming Stack
100 Array Math Enumeration Number Theory