tcs Interview Questions — 100 DSA Problems
100 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked tcs LeetCode questions for software engineering interviews.
- Two Sum (EASY) — Array, Hash Table
- Palindrome Number (EASY) — Math
- Majority Element (EASY) — Array, Hash Table, Divide and Conquer, Sorting, Counting
- Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Longest Common Prefix (EASY) — String, Trie
- Valid Parentheses (EASY) — String, Stack
- Fibonacci Number (EASY) — Math, Dynamic Programming, Recursion, Memoization
- Subarray Sum Equals K (MEDIUM) — Array, Hash Table, Prefix Sum
- Move Zeroes (EASY) — Array, Two Pointers
- Rotate Array (MEDIUM) — Array, Math, Two Pointers
- Count the Digits That Divide a Number (EASY) — Math
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Maximum Ascending Subarray Sum (EASY) — Array
- Reverse Integer (MEDIUM) — Math
- Merge Sorted Array (EASY) — Array, Two Pointers, Sorting
- Unique Paths (MEDIUM) — Math, Dynamic Programming, Combinatorics
- Roman to Integer (EASY) — Hash Table, Math, String
- Remove Letter To Equalize Frequency (EASY) — Hash Table, String, Counting
- Minimum Cuts to Divide a Circle (EASY) — Math, Geometry
- Single Number (EASY) — Array, Bit Manipulation
- Valid Anagram (EASY) — Hash Table, String, Sorting
- Minimum Operations to Exceed Threshold Value I (EASY) — Array
- Minimum Operations to Exceed Threshold Value II (MEDIUM) — Array, Heap (Priority Queue), Simulation
- Palindrome Partitioning IV (HARD) — String, Dynamic Programming
- 3Sum (MEDIUM) — Array, Two Pointers, Sorting
- Bitwise ORs of Subarrays (MEDIUM) — Array, Dynamic Programming, Bit Manipulation
- Climbing Stairs (EASY) — Math, Dynamic Programming, Memoization
- Find the Index of the First Occurrence in a String (EASY) — Two Pointers, String, String Matching
- Remove Duplicates from Sorted Array (EASY) — Array, Two Pointers
- Longest Palindromic Substring (MEDIUM) — Two Pointers, String, Dynamic Programming
- Container With Most Water (MEDIUM) — Array, Two Pointers, Greedy
- Plus One (EASY) — Array, Math
- Pow(x, n) (MEDIUM) — Math, Recursion
- Second Highest Salary (MEDIUM) — Database
- Length of Last Word (EASY) — String
- Sort Colors (MEDIUM) — Array, Two Pointers, Sorting
- Sliding Window Maximum (HARD) — Array, Queue, Sliding Window, Heap (Priority Queue), Monotonic Queue
- Contains Duplicate (EASY) — Array, Hash Table, Sorting
- Happy Number (EASY) — Hash Table, Math, Two Pointers
- Reverse Words in a String (MEDIUM) — Two Pointers, String
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Spiral Matrix (MEDIUM) — Array, Matrix, Simulation
- Missing Number (EASY) — Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting
- Best Time to Buy and Sell Stock II (MEDIUM) — Array, Dynamic Programming, Greedy
- Add Two Numbers (MEDIUM) — Linked List, Math, Recursion
- Set Matrix Zeroes (MEDIUM) — Array, Hash Table, Matrix
- Sqrt(x) (EASY) — Math, Binary Search
- Max Consecutive Ones III (MEDIUM) — Array, Binary Search, Sliding Window, Prefix Sum
- Check if Array Is Sorted and Rotated (EASY) — Array
T
tcs
100 questions tracked100 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
3ArrayHash TableDivide and ConquerSorting+1
5ArrayDivide and ConquerDynamic Programming
8MathDynamic ProgrammingRecursionMemoization
9ArrayHash TablePrefix Sum
13ArrayDynamic ProgrammingGreedy
17MathDynamic ProgrammingCombinatorics
24ArrayHeap (Priority Queue)Simulation
25StringDynamic Programming
27ArrayDynamic ProgrammingBit Manipulation
28MathDynamic ProgrammingMemoization
29Two PointersStringString Matching
31Two PointersStringDynamic Programming
38ArrayQueueSliding WindowHeap (Priority Queue)+1
40Hash TableMathTwo Pointers
42ArrayTwo PointersDynamic ProgrammingStack+1
44ArrayHash TableMathBinary Search+2
45ArrayDynamic ProgrammingGreedy
49ArrayBinary SearchSliding WindowPrefix Sum
51Hash TableStringSliding Window
57MathDynamic ProgrammingMemoization
58MathStringBit ManipulationSimulation
59ArrayHash TableTwo PointersBinary Search+1
65StringDynamic ProgrammingBacktracking
68StringDynamic Programming
69ArrayStackMonotonic Stack
70MediumFind First and Last Position of Element in Sorted Array✓ Our Solution ArrayBinary Search
72TreeDepth-First SearchBreadth-First SearchBinary Tree
74StringDynamic Programming
76ArrayHash TableUnion Find
80Hash TableStringSortingHeap (Priority Queue)+2
82MathBit ManipulationRecursion
83ArrayBacktrackingBit Manipulation
84EasyHow Many Numbers Are Smaller Than the Current Number✓ Our Solution ArrayHash TableSortingCounting Sort
86ArrayGraphHeap (Priority Queue)Shortest Path
89ArrayBinary SearchDivide and ConquerMatrix
90ArrayStringBacktrackingDepth-First Search+1
93ArrayDynamic ProgrammingBreadth-First Search
97ArrayMathEnumerationNumber Theory
98Hash TableStringQueueCounting
99ArrayHash TableTwo PointersBinary Search+1