MCPcopy Create free account

hub / github.com/FreeTymeKiyan/LeetCode-Sol-Res / functions

Functions1,974 in github.com/FreeTymeKiyan/LeetCode-Sol-Res

↓ 331 callersMethodlength
(ListNode n)
src/main/java/com/freetymekiyan/algorithms/level/easy/IntersectionOfTwoLinkedLists.java:46
↓ 310 callersMethodsize
()
src/main/java/com/freetymekiyan/datastructures/BST.java:75
↓ 291 callersMethodadd
(NestedInteger ni)
src/main/java/com/freetymekiyan/algorithms/level/medium/MiniParser.java:137
↓ 148 callersMethodmax
()
src/main/java/com/freetymekiyan/datastructures/MaxPQ.java:54
↓ 145 callersMethodget
Provide a number which is not assigned to anyone. @return - Return an available number. Return -1 if none is available.
src/main/java/com/freetymekiyan/algorithms/level/medium/DesignPhoneDirectory.java:68
↓ 122 callersMethodisEmpty
()
src/main/java/com/freetymekiyan/datastructures/MaxPQ.java:50
↓ 121 callersMethodput
(Key key, Value val)
src/main/java/com/freetymekiyan/datastructures/BST.java:26
↓ 111 callersMethodget
Check key in cache. If not in cache, return -1. If in cache, get the node, move it to head, return its value.
src/main/java/com/freetymekiyan/algorithms/level/hard/LRUCache.java:50
↓ 93 callersMethodmin
()
src/main/java/com/freetymekiyan/datastructures/BST.java:164
↓ 86 callersMethodpush
Push x to stack. After that, check min stack. Push to min stack if min stack is empty or x is smaller than the top of min stack.
src/main/java/com/freetymekiyan/algorithms/level/easy/MinStack.java:30
↓ 79 callersMethodtoString
()
src/main/java/com/freetymekiyan/algorithms/level/medium/MiniParser.java:147
↓ 78 callersMethodpop
Pop from s. Check if the value is current min. If it is, pop from min stack as well.
src/main/java/com/freetymekiyan/algorithms/level/easy/MinStack.java:42
↓ 55 callersMethodadd
(int number)
src/main/java/com/freetymekiyan/algorithms/level/easy/TwoSum3DataStructureDesign.java:31
↓ 49 callersMethodsort
(Comparable[] pq)
src/main/java/com/freetymekiyan/algorithms/other/HeapSort.java:9
↓ 44 callersMethodcontains
(Key key)
src/main/java/com/freetymekiyan/datastructures/ST.java:23
↓ 42 callersMethodpeek
()
src/main/java/com/freetymekiyan/algorithms/level/medium/PeekingIterator.java:55
↓ 42 callersMethodpush
(Item i)
src/main/java/com/freetymekiyan/datastructures/ArrayStack.java:60
↓ 38 callersMethodempty
()
src/main/java/com/freetymekiyan/algorithms/level/easy/ImplementStackUsingQueues.java:55
↓ 34 callersMethodremove
Removes a value from the set. Returns true if the set contained the specified element. Check if the value exists. If not, nothing to remove, return fa
src/main/java/com/freetymekiyan/algorithms/level/medium/InsertDeleteGetRandom.java:96
↓ 33 callersMethodinsert
Inserts a word into the trie.
src/main/cpp/208_Implement_Trie_(Prefix_Tree).cpp:37
↓ 29 callersMethodprint
(int[] num)
src/main/java/com/freetymekiyan/algorithms/level/medium/Permutations.java:54
↓ 28 callersMethodadd
Sum of two bits can be obtained by performing XOR (^) of the two bits. Carry bit can be obtained by performing AND (&) of two bits.
src/main/java/com/freetymekiyan/algorithms/other/AddWithoutOperators.java:18
↓ 28 callersMethodbuildBinaryTree
(Integer[] values)
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:20
↓ 26 callersMethodpop
()
src/main/java/com/freetymekiyan/datastructures/ArrayStack.java:67
↓ 18 callersMethodtoString
()
src/main/java/com/freetymekiyan/datastructures/ArrayStack.java:100
↓ 17 callersMethodfill
(int n)
src/main/java/com/freetymekiyan/algorithms/other/Fill2Instances.java:20
↓ 17 callersMethodfind
(int i)
src/main/java/com/freetymekiyan/algorithms/level/medium/AccountsMerge.java:222
↓ 17 callersMethodremove
Removes a value from the collection. Returns true if the collection contained the specified element.
src/main/java/com/freetymekiyan/algorithms/level/hard/InsertDeleteGetRandomDuplicatesAllowed.java:75
↓ 14 callersMethodinsert
Array. In-place solution. Skip the non-overlapping intervals whose end time is before new interval's start. For overlapped intervals that start before
src/main/java/com/freetymekiyan/algorithms/level/hard/InsertInterval.java:37
↓ 13 callersMethodtop
()
src/main/java/com/freetymekiyan/algorithms/level/easy/MinStack.java:46
↓ 12 callersMethodlongestValidParentheses
Optimized DP Build a stack for indices of open parentheses Traverse the string, if current is open paren, push to stack Otherwise, its close paren. If
src/main/java/com/freetymekiyan/algorithms/level/hard/LongestValidParen.java:46
↓ 11 callersMethodcompareArrays
(int[] array1, int[] array2)
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:69
↓ 11 callersMethodlastRemaining
Calculate the start point of next round with: The start point of this round, the step, the number of removed integers. If from left, start = start + s
src/main/java/com/freetymekiyan/algorithms/level/medium/EliminationGame.java:45
↓ 11 callersMethodpeek
()
src/main/java/com/freetymekiyan/algorithms/level/easy/ImplementingQueueWithStacks.java:51
↓ 11 callersMethodsearch
Returns if the word is in the trie.
src/main/cpp/208_Implement_Trie_(Prefix_Tree).cpp:57
↓ 11 callersMethodtoIntervalArray
(int[][] arr)
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:96
↓ 10 callersMethodremove
()
src/main/java/com/freetymekiyan/algorithms/other/PeekIterator.java:48
↓ 10 callersMethodsearchMatrix
Binary search to locate row, then binary search in a row O(logm + logn)
src/main/java/com/freetymekiyan/algorithms/level/medium/Search2DMatrix.java:44
↓ 9 callersMethodisIsomorphic
Hash Table. Store the previous seen index of a character. 0 means not seen yet. If the last seen indices are different, return false. Update index to
src/main/java/com/freetymekiyan/algorithms/level/easy/IsomorphicStrings.java:43
↓ 9 callersMethodrob
DP. Space Optimized. Max amount of house n is either rob the previous house or rob this house. Recurrence relation: max[n] = max(max[n - 2] + nums[n],
src/main/java/com/freetymekiyan/algorithms/level/easy/HouseRobber.java:33
↓ 9 callersMethodset
If key already in cache, only need to update value: | Get the node, update its value, move to head. If key is not in cache: | Create a new node. | Add
src/main/java/com/freetymekiyan/algorithms/level/hard/LRUCache.java:70
↓ 9 callersMethodstartsWith
Returns if there is any word in the trie that starts with the given prefix.
src/main/cpp/208_Implement_Trie_(Prefix_Tree).cpp:83
↓ 8 callersMethodadd
(Item item)
src/main/java/com/freetymekiyan/datastructures/LinkedListBag.java:10
↓ 8 callersMethodcompareTo
(Path rhs)
src/main/java/com/freetymekiyan/algorithms/other/Dijkstra.java:30
↓ 8 callersMethodisPerfectSquare
Binary Search. The original thought is binary search from 1 to sqrt(n). Since we cannot use built-in library, we use n / 2 to replace it. Note that n
src/main/java/com/freetymekiyan/algorithms/level/medium/ValidPerfectSquare.java:44
↓ 8 callersMethodisPerfectSquareB
Math. A perfect square is the sum of a consecutive odd number sequence. 1 + 3 + 5 + 7 + 9 ... For example: 1 = 1, 4 = 1 + 3, 9 = 1 + 3 + 5, 16 = 1 + 3
src/main/java/com/freetymekiyan/algorithms/level/medium/ValidPerfectSquare.java:70
↓ 8 callersMethodisPerfectSquareC
Math, Newton's Method. x(n+1) = x(n) - f(x(n)) / f'(x(n)) Find the root for y = num - t^2. t - (num - t^2) / -2t = t + num / 2t - t / 2 = (t + num / t
src/main/java/com/freetymekiyan/algorithms/level/medium/ValidPerfectSquare.java:86
↓ 8 callersMethodisUgly
(int num)
src/main/java/com/freetymekiyan/algorithms/level/easy/UglyNumber.java:40
↓ 8 callersMethodquad
(int x, int a, int b, int c)
src/main/java/com/freetymekiyan/algorithms/level/medium/SortTransformedArray.java:45
↓ 7 callersMethodcompareListsIgnoreOrder
Compare 2 lists ignoring order.
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:107
↓ 7 callersMethodgetIndex
(char c)
src/main/java/com/freetymekiyan/algorithms/level/hard/DesignSearchAutocompleteSystem.java:201
↓ 7 callersMethodgetSum
1) Initialize sum as 0 and index as index+1. 2) Do following while index is greater than 0. ...a) Add BITree[index] to sum ...b) Go to parent of BITre
src/main/java/com/freetymekiyan/datastructures/BinaryIndexedTree.java:48
↓ 7 callersMethodisMatch
DP. O(mn) Time, O(mn) Space. match[i][j]: whether s[0..i-1] matches p[0..j-1] Recurrence relations: if p[j - 1] != ' ': | p[j - 1] is a letter or a '.
src/main/java/com/freetymekiyan/algorithms/level/hard/RegularExpressionMatching.java:50
↓ 7 callersMethodisPalindrom
Clarify whether negative nums are palindrom first Compare each digit
src/main/java/com/freetymekiyan/algorithms/level/easy/PalindromeNo.java:37
↓ 7 callersMethoditerator
()
src/main/java/com/freetymekiyan/datastructures/ArrayStack.java:95
↓ 7 callersMethodminCut
Each cut at i+j is calculated by scanning (i-j)'s minimum cut + 1 if s[i-j, i+j] is a palindrome.
src/main/java/com/freetymekiyan/algorithms/level/hard/PalindromePartitioning2.java:87
↓ 7 callersMethodpush
(Item item)
src/main/java/com/freetymekiyan/datastructures/LinkedListStack.java:29
↓ 7 callersMethodrangeBitwiseAnd
The AND result of the last bit of odd and even numbers should be 0. So if m and n are not equal, check the last bit of them. Count the number of itera
src/main/java/com/freetymekiyan/algorithms/level/medium/BitwiseAndOfNumbersRange.java:29
↓ 7 callersMethodreverseString
Two-pointer swapping
src/main/java/com/freetymekiyan/algorithms/level/easy/ReverseString.java:28
↓ 6 callersMethodaddEdge
(int u, int v)
src/main/java/com/freetymekiyan/algorithms/other/Graph.java:68
↓ 6 callersMethodget
(int key)
others/LRUCache_shuna.java:56
↓ 6 callersMethodget
(Key key)
src/main/java/com/freetymekiyan/datastructures/BST.java:11
↓ 6 callersMethodgetNumDecodings
Number of decodings of one single character. If ' ', it can be any one between 1-9, 9 ways. If '0', it cannot be decoded, 0. Else just 1.
src/main/java/com/freetymekiyan/algorithms/level/hard/DecodeWays2.java:87
↓ 6 callersMethodgetPermutation
Initialize a list of digits to build the result Build from first character
src/main/java/com/freetymekiyan/algorithms/level/medium/PermutationSequence.java:41
↓ 6 callersMethodkthSmallest
Two pointers start from the head of A & B O(k)
src/main/java/com/freetymekiyan/algorithms/other/KthSmallestSortedArrays.java:61
↓ 6 callersMethodnewIndex
Create an index mapping. [0, 1, 2, 3, 4, 5] -> [1, 3, 5, 0, 2, 4] [0, 1, 2, 3, 4, 5, 6] -> [1, 3, 5, 0, 2, 4, 6]
src/main/java/com/freetymekiyan/algorithms/level/medium/WiggleSort2.java:61
↓ 6 callersMethodremoveDuplicateLetters
(String s)
src/main/java/com/freetymekiyan/algorithms/level/hard/RemoveDuplicateLetters.java:27
↓ 6 callersMethodremoveElements
Create a dummy head and check the next element. If the element is head, the head needs to be updated. If in the middle, we skip this element by connec
src/main/java/com/freetymekiyan/algorithms/level/easy/RemoveLinkedListElements.java:30
↓ 6 callersMethodreverseVowels
Use two pointers, search for vowels from both ends
src/main/java/com/freetymekiyan/algorithms/level/easy/ReverseVowelsOfAString.java:29
↓ 5 callersMethodbuildTree
(List<List<int[]>> valueAndChildren)
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:43
↓ 5 callersMethodcontainsDuplicate
(int[] nums)
src/main/java/com/freetymekiyan/algorithms/level/easy/ContainsDuplicate.java:22
↓ 5 callersMethodf
(String prefix, String suffix)
src/main/java/com/freetymekiyan/algorithms/level/hard/PrefixAndSuffixSearch.java:63
↓ 5 callersMethodfindLengthOfLCIS
Sliding window. Remember where the current sub-sequence started as start. When a[i-1] >= a[i], i-start+1 is the length of current continuous increasin
src/main/java/com/freetymekiyan/algorithms/level/easy/LongestContinuousIncreasingSubsequence.java:30
↓ 5 callersMethodfindLengthOfLCIS2
DP. Current sub-sequence length, len, is incremented when the next number is larger. When len is incremented, check if longest length max should be up
src/main/java/com/freetymekiyan/algorithms/level/easy/LongestContinuousIncreasingSubsequence.java:48
↓ 5 callersMethodfindLongestContiguous
O(n) Time, O(n) Space Maintain a window and add elements to the window till it contains less or equal k Update our result if required while doing so.
src/main/java/com/freetymekiyan/algorithms/other/LongestContiguousSubstring.java:36
↓ 5 callersMethodisPalindrome
(String s)
src/main/java/com/freetymekiyan/algorithms/level/hard/PalindromePairs.java:92
↓ 5 callersMethodkthSmallest
Recursive solution with in-order traversal helper.
src/main/java/com/freetymekiyan/algorithms/level/medium/KthSmallestElementInABst.java:48
↓ 5 callersMethodmaxProfit
DP. Can either buy or sell on day i, 2 states. Track the maximum of these 2 states. If buy, the maximum is either do nothing or buy today's stock with
src/main/java/com/freetymekiyan/algorithms/level/medium/BestTimeToBuyAndSellStockWithTransactionFee.java:44
↓ 5 callersMethodpop
()
src/main/java/com/freetymekiyan/datastructures/LinkedListStack.java:37
↓ 5 callersMethodrangeString
(final int lower, final int upper)
src/main/java/com/freetymekiyan/algorithms/level/medium/MissingRanges.java:49
↓ 5 callersMethodremoveKdigits
Stack, Greedy. Find the last digit of the increasing sequence and the first digit of the decreasing sequence. Remove it and decrement k by 1. Why is i
src/main/java/com/freetymekiyan/algorithms/level/medium/RemoveKDigits.java:54
↓ 5 callersMethodremoveKdigitsB
Stack, Greedy. The only difference is that stack is imitated with an Object(Character) array and a pointer to its top. Because we know the largest pos
src/main/java/com/freetymekiyan/algorithms/level/medium/RemoveKDigits.java:91
↓ 5 callersMethodreverse
(List<Integer> row, int s, int e)
src/main/java/com/freetymekiyan/algorithms/level/hard/Permutations2.java:66
↓ 5 callersMethodsimplifyPath
Stack. Split path with slash, there can be 4 situations: 1) A correct name, push into stack. 2) A dot, skip. 3) Double dot, should pop last directory
src/main/java/com/freetymekiyan/algorithms/level/medium/SimplifyPath.java:51
↓ 5 callersMethodswap
(int[] nums, int i, int j)
src/main/java/com/freetymekiyan/algorithms/level/medium/WiggleSort2.java:99
↓ 4 callersMethodaddDigits
Possible results range from 0 to 9. Only when num is 0, the result is 0; Otherwise, the result is within 1 to 9. It happens periodically as the num in
src/main/java/com/freetymekiyan/algorithms/level/easy/AddDigits.java:39
↓ 4 callersMethodaddFirst
(Node n)
src/main/java/com/freetymekiyan/datastructures/LRUCache.java:72
↓ 4 callersMethodaddToHead
(DoubleLinkedList node)
others/LRUCache_shuna.java:49
↓ 4 callersMethodaddTwoNumbers
Get the lengths of the two lists first, the difference of which can be used to add list nodes. If the diff is 0, the nodes can be added. If the diff i
src/main/java/com/freetymekiyan/algorithms/level/medium/AddTwoNumbers2.java:30
↓ 4 callersMethodareSentencesSimilarTwo
Union Find. The pairs given can be treated as graph edges. Each word is a node. Similar words are connected. Dissimilar words are not. Connected words
src/main/java/com/freetymekiyan/algorithms/level/medium/SentenceSimilarity2.java:48
↓ 4 callersMethodbuildLinkedList
(int[] values)
src/main/java/com/freetymekiyan/algorithms/utils/Utils.java:10
↓ 4 callersMethodcanJump
Dynamic Programming Keep track of the maximum of jumps we left Initialized as A[0] Traverse from second to second last Reduce 1 every time we jump max
src/main/java/com/freetymekiyan/algorithms/level/medium/JumpGame.java:41
↓ 4 callersMethodcanMeasureWater
Math, Bézout's identity. Let a and b be nonzero integers and let d be their greatest common divisor. Then there exist integers x and y such that ax+by
src/main/java/com/freetymekiyan/algorithms/level/medium/WaterAndJugProblem.java:41
↓ 4 callersMethodcollect
(Node n, String pre, Queue<String> q)
src/main/java/com/freetymekiyan/datastructures/TrieST.java:119
↓ 4 callersMethoddeserialize
(String s)
src/main/java/com/freetymekiyan/algorithms/level/medium/MiniParser.java:50
↓ 4 callersMethoddfs
DFS. Iterative.
src/main/java/com/freetymekiyan/algorithms/level/medium/NumberOfIslands.java:96
↓ 4 callersMethoddigitSquareSum
(int n)
src/main/java/com/freetymekiyan/algorithms/level/easy/HappyNumber.java:65
↓ 4 callersMethoderaseOverlapIntervals
Greedy. When two intervals overlap with each other, we have to remove one of them. Which one? The one with larger end. Why? When intervals are sorted
src/main/java/com/freetymekiyan/algorithms/level/medium/NonOverlappingIntervals.java:47
↓ 4 callersMethodevalRPN
Stack. Suppose all reverse polish are valid. For each token t in tokens: | If t is an operator: | Pop two numbers and do the calculation. | Push r
src/main/java/com/freetymekiyan/algorithms/level/medium/EvaluateReversePolish.java:34
↓ 4 callersMethodfind
O(n), find the root id. If p equals id[p], p is root.
src/main/java/com/freetymekiyan/algorithms/level/medium/NumberOfIslands.java:217
next →1–100 of 1,974, ranked by callers