Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/devweekends/DW-Fellowship-DSA-Roadmap
/ functions
Functions
315 in github.com/devweekends/DW-Fellowship-DSA-Roadmap
⨍
Functions
315
◇
Types & classes
140
↓ 49 callers
Method
push
Level 1/Week 06/Stack/155. Min Stack/code.cpp:32
↓ 43 callers
Method
top
Level 1/Week 06/Stack/155. Min Stack/code.cpp:47
↓ 36 callers
Method
pop
Level 1/Week 06/Stack/155. Min Stack/code.cpp:40
↓ 19 callers
Method
find
Find with path compression
Level 1/Week 12/Graph/684. Redundant Connection/code.cpp:50
↓ 4 callers
Function
helper
🔸 Approach 3: Recursive Reverse Comparison
Common/Math/Palindrome/palindrome.cpp:27
↓ 1 callers
Function
digitCount
Common/Math/Extract Digits/extract_digit.cpp:24
↓ 1 callers
Function
evenDigits
--------------------------------------------------- 🔸 Approach 1: Brute Force using Modulo - Loop through each digit using modulo - Check if digit !=
Common/Math/Count Digits/count.cpp:11
↓ 1 callers
Function
gcdBruteForce
🔸 Approach 1: Brute Force Method Loop from 1 to min(n1, n2) and check for all numbers that divide both. Track the largest such number. 🧠 Logic: - Sta
Common/Math/GCD_HCF_Calculation/gcd.cpp:31
↓ 1 callers
Function
gcdEuclidean
🔸 Approach 2: Euclidean Algorithm Efficient method using modulo (%). Key Property: gcd(a, b) = gcd(b, a % b) Repeat until one number becomes 0. The o
Common/Math/GCD_HCF_Calculation/gcd.cpp:52
↓ 1 callers
Function
isPalindromeArrayRecursive
🔸 Approach 3: Recursive Check
Common/Math/Palindrome/palindrome.cpp:63
↓ 1 callers
Function
printAllDivisorsBrute
🔸 Approach 1: Brute Force Loop through all numbers from 1 to n and check if they divide n
Common/Math/Print Divisors/print_all_divisors.cpp:16
↓ 1 callers
Function
printAllDivisorsOptimized
🔸 Approach 2: Optimized Square Root Approach Divisors occur in pairs (i, n/i), and we only need to loop till sqrt(n)
Common/Math/Print Divisors/print_all_divisors.cpp:28
↓ 1 callers
Function
printAllDivisorsRecursive
Common/Math/Print Divisors/print_all_divisors.cpp:69
↓ 1 callers
Function
printAllDivisorsRecursiveHelper
🔸 Approach 4: Recursive Method Recursively check and print divisors from 1 to n
Common/Math/Print Divisors/print_all_divisors.cpp:63
↓ 1 callers
Function
printAllDivisorsSorted
🔸 Approach 3: Using a Vector + Sorting Collect divisors in a vector and sort them for ordered output
Common/Math/Print Divisors/print_all_divisors.cpp:43
↓ 1 callers
Function
reverseNumberForLoop
🔸 Approach 4: For Loop (Alternative Math)
Common/Math/Reverse Number/reverse_number.cpp:41
↓ 1 callers
Function
reverseNumberLoop
🔸 Approach 1: While Loop (Mathematical)
Common/Math/Reverse Number/reverse_number.cpp:17
↓ 1 callers
Function
reverseNumberRecursiveHelper
🔸 Approach 2: Recursion
Common/Math/Reverse Number/reverse_number.cpp:28
↓ 1 callers
Function
reverseNumberString
🔸 Approach 3: String Reversal
Common/Math/Reverse Number/reverse_number.cpp:34
↓ 1 callers
Function
sumOfPowers
------------------------------------------ 🔹 Approach 3: Recursive - Calculates sum of digits raised to total digit count - Uses recursion for summati
Common/Math/Armstrog Number/Armstrong.cpp:55
↓ 1 callers
Function
totalDigits
--------------------------------------------------- 🔸 Approach 2: Count Total Digits Using log10 - Just counts total digits, not the ones that divide
Common/Math/Count Digits/count.cpp:34
Method
KthLargest
Level 1/Week 07/K way merge [Heaps]/703. Kth Largest Element in a Stream/code.cpp:27
Method
MedianFinder
Level 1/Week 07/K way merge [Heaps]/Find Median from Data Stream/code.cpp:21
Method
MinStack
Level 1/Week 06/Stack/155. Min Stack/code.cpp:30
Method
Node
Level 1/Week 12/Graph/133. Clone Graph/code.cpp:25
Method
add
Level 1/Week 07/K way merge [Heaps]/703. Kth Largest Element in a Stream/code.cpp:35
Method
addNum
Level 1/Week 07/K way merge [Heaps]/Find Median from Data Stream/code.cpp:22
Method
addTwoNumbers
Level 1/Week 03/LinkedList/2. Add Two Numbers/code.cpp:19
Method
addTwoNumbers
Level 1/Week 10/Recursion/2. Add Two Numbers/code.cpp:29
Method
addTwoNumbers
Level 1/Week 10/Recursion/445. Add Two Numbers II/code.cpp:28
Method
addTwoNumbersHelper
Level 1/Week 10/Recursion/2. Add Two Numbers/code.cpp:34
Method
addTwoNumbersHelper
Helper function to add two reversed lists
Level 1/Week 10/Recursion/445. Add Two Numbers II/code.cpp:55
Method
backtrack
Level 0/10 Backtracking/07. 0017-letter-combinations-of-a-phone-number/code.cpp:8
Method
backtrack
Level 0/10 Backtracking/08. 0051-n-queens/code.cpp:31
Method
backtrack
Level 0/10 Backtracking/03. 040-combination-sum-ii/code.cpp:5
Method
backtrack
Level 0/10 Backtracking/04. 046-permutations/code.cpp:5
Method
backtrack
Level 0/10 Backtracking/06. 0131-palindrome-partitioning/code.cpp:17
Method
backtrack
Level 0/10 Backtracking/02. 039-combination-sum/code.cpp:5
Method
backtrack
Level 0/10 Backtracking/05. 090-subsets-ii/code.cpp:5
Method
backtrack
Level 0/10 Backtracking/01. 078-subsets/code.cpp:5
Method
backtrack
Level 1/Week 10/Backtracking/51. N-Queens/code.cpp:36
Method
backtrack
Level 1/Week 10/Backtracking/39. Combination Sum/code.cpp:33
Method
backtrack
Level 1/Week 10/Backtracking/78. Subsets/code.cpp:25
Method
backtrack
Level 1/Week 10/Backtracking/17. Letter Combinations of a Phone Number/code.cpp:40
Method
backtrack
Level 1/Week 10/Backtracking/90. Subsets II/code.cpp:34
Method
backtrack
Level 1/Week 10/Backtracking/131. Palindrome Partitioning/code.cpp:31
Method
backtrack
Level 1/Week 10/Backtracking/40. Combination Sum II/code.cpp:32
Method
backtrack
Level 1/Week 10/Backtracking/79. Word Search/code.cpp:39
Method
backtrack
Level 1/Week 10/Backtracking/46. Permutations/code.cpp:31
Method
buildTree
Level 0/8 Trees/09. 0105-construct-binary-tree-from-preorder-and-inorder-traversal/code.cpp:44
Method
buildTree
Level 1/Week 04/Trees/105. Construct Binary Tree from Preorder and Inorder Traversal/code.cpp:61
Method
buildTreeHelper
Level 0/8 Trees/09. 0105-construct-binary-tree-from-preorder-and-inorder-traversal/code.cpp:18
Method
calculateHeight
Helper function to calculate the height of a subtree and update the maximum diameter found so far
Level 0/8 Trees/01. 0543-diameter-of-binary-tree/code.cpp:19
Method
calculateTotalHours
Helper to calculate total hours needed at a given eating speed
Level 0/9 Modified Binary Search/08. 0907-koko-eating-bananas/0907-koko-eating-bananas.cpp:12
Method
calculatehours
Level 1/Week 05/Modified Binary Search/875. Koko Eating Bananas/code.cpp:51
Method
canCompleteCircuit
Level 1/Week 09/Greedy/134. Gas Station/code.cpp:24
Method
canFinish
Level 1/Week 12/Graph/207. Course Schedule/code.cpp:21
Method
change
Main function - using the most optimal approach
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:94
Method
changeMemo
Approach 2: Memoization (Top-Down DP) Time: O(amount * coins), Space: O(amount * coins) - memoization table
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:34
Method
changeMemoHelper
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:40
Method
changeOptimized
Approach 4: Space Optimization Time: O(amount * coins), Space: O(amount) - 1D DP array
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:81
Method
changeRecursion
Approach 1: Recursion (Brute Force) Time: O(2^(amount+coins)), Space: O(amount) - recursion stack
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:16
Method
changeRecursionHelper
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:21
Method
changeTabulation
Approach 3: Tabulation (Bottom-Up DP) Time: O(amount * coins), Space: O(amount * coins) - 2D DP array
Level 1/Week 11/Dynamic Programming/518. Coin Change II/code.cpp:56
Method
characterReplacement
Level 1/Week 02/Sliding windows/424. Longest Repeating Character Replacement/code.cpp:22
Method
checkInclusion
Level 1/Week 02/Sliding windows/567. Permutation in String/code.cpp:23
Method
checkValidString
Level 1/Week 09/Greedy/678. Valid Parenthesis String/code.cpp:26
Method
checkheight
Level 1/Week 04/Trees/110. Balanced Binary Tree/code.cpp:32
Method
climbStairs
Main function - using the most optimal approach
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:65
Method
climbStairsMemo
Approach 2: Memoization (Top-Down DP) Time: O(n), Space: O(n) - memoization table + recursion stack
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:24
Method
climbStairsMemoHelper
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:30
Method
climbStairsOptimized
Approach 4: Space Optimization Time: O(n), Space: O(1) - only two variables
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:53
Method
climbStairsRecursion
Approach 1: Recursion (Brute Force) Time: O(2^n), Space: O(n) - recursion stack
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:17
Method
climbStairsTabulation
Approach 3: Tabulation (Bottom-Up DP) Time: O(n), Space: O(n) - DP array
Level 1/Week 11/Dynamic Programming/70. Climbing Stairs/code.cpp:40
Method
cloneGraph
Level 1/Week 12/Graph/133. Clone Graph/code.cpp:41
Method
coinChange
Main function - using the most optimal approach
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:90
Method
coinChangeMemo
Approach 2: Memoization (Top-Down DP) Time: O(S * n), Space: O(S) - memoization table + recursion stack
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:41
Method
coinChangeMemoHelper
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:48
Method
coinChangeOptimized
Approach 4: Space Optimization Time: O(S * n), Space: O(S) - already optimal for this problem
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:83
Method
coinChangeRecursion
Approach 1: Recursion (Brute Force) Time: O(S^n) where S is amount, Space: O(S) - recursion stack
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:18
Method
coinChangeRecursionHelper
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:24
Method
coinChangeTabulation
Approach 3: Tabulation (Bottom-Up DP) Time: O(S * n), Space: O(S) - DP array
Level 1/Week 11/Dynamic Programming/322. Coin Change/code.cpp:67
Method
combinationSum
Level 0/10 Backtracking/02. 039-combination-sum/code.cpp:31
Method
combinationSum
Level 1/Week 10/Backtracking/39. Combination Sum/code.cpp:21
Method
combinationSum2
Level 0/10 Backtracking/03. 040-combination-sum-ii/code.cpp:36
Method
combinationSum2
Level 1/Week 10/Backtracking/40. Combination Sum II/code.cpp:20
Method
containsDuplicate
Level 1/Week 01/Arrays & Hashing/217. Contains Duplicate/code.cpp:12
Method
containsNearbyDuplicate
Level 1/Week 02/Sliding windows/219. Contains Duplicate II/code.cpp:19
Method
copyRandomList
Level 1/Week 03/LinkedList/138. Copy List with Random Pointer/code.cpp:41
Method
countPairs
Level 1/Week 02/2 pointers/2824. Count Pairs Whose Sum is Less than Target/code.cpp:19
Method
countStudents
Level 1/Week 06/Queue/1700. Number of Students Unable to Eat Lunch/code.cpp:19
Method
dailyTemperatures
Level 1/Week 06/Stack/739. Daily Temperatures/code.cpp:28
Method
deckRevealedIncreasing
Level 1/Week 06/Queue/950. Reveal Cards In Increasing Order/code.cpp:21
Method
deserialize
Decodes your encoded data to tree.
Level 0/8 Trees/11. 0297-serialize-and-deserialize-binary-tree/code.cpp:60
Method
deserializeHelper
Helper function to deserialize tree using preorder traversal
Level 0/8 Trees/11. 0297-serialize-and-deserialize-binary-tree/code.cpp:29
Method
dfs
DFS approach: traverse right first, then left
Level 0/8 Trees/05. 0199-binary-tree-right-side-view/code.cpp:16
Method
dfs
DFS helper function to count good nodes
Level 0/8 Trees/06. 1448-count-good-nodes-in-binary-tree/code.cpp:16
Method
dfs
Level 1/Week 12/Graph/417. Pacific Atlantic Water Flow/code.cpp:63
Method
dfs
Level 1/Week 12/Graph/130. Surrounded Regions/code.cpp:60
Method
dfs
Level 1/Week 12/Graph/200. Number of Islands/code.cpp:44
next →
1–100 of 315, ranked by callers