mitsinsar / TheJourney

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Journey

Purpose of this repository to keep my LeetCode problem solutions in a single place to use as a reminder and to share with other devs.

Resources

There is a section called Resources where you can find useful information to solve problems in an efficient way.

Testing

Test were written based on LeetCode test cases and can be found under src/test/kotlin/XTest.kt where X represents the problem name.

Additional info

Solutions implements Executable interface which is not related to LeetCode solutions. Purpose of this interface to ensure consistency between problems

class ProblemName : Executable<ProblemArgs, ProblemReturnType> {

    override operator fun invoke(args: ProblemArgs): ProblemReturnType {
        ...
    }

    data class ProblemArgs(...)
}


// To call
val problemNameInstance = ProblemName()

val args: ProblemArgs = ProblemArgs(...)
val result: ProblemReturnType = problemNameInstance(args)

Solved Problems

Problem Solution Problem Test Related Resource
1. Two Sum TwoSum.kt TwoSumTest.kt HashMap.md
2. Add Two Numbers AddTwoNumbers.kt AddTwoNumbersTest.kt
9. Palindrome Number PalindromeNumber.kt PalindromeNumberTest.kt
13. Roman to Integer RomanToInteger.kt RomanToIntegerTest.kt VariableOrNotVariable.md
14. Longest Common Prefix LongestCommonPrefix.kt LongestCommonPrefixTest.kt
20. Valid Parentheses ValidParentheses.kt ValidParenthesesTest.kt
21. Merge Two Sorted Lists MergeTwoSortedLists.kt MergeTwoSortedListsTest.kt
66. Plus One PlusOne.kt PlusOneTest.kt
69. Sqrt(x) SqrtX.kt SqrtXTest.kt
70. Climbing Stairs ClimbingStairs.kt ClimbingStairsTest.kt
88. Merge Sorted Array MergeSortedArray.kt MergeSortedArrayTest.kt
125. Valid Palindrome ValidPalindrome.kt ValidPalindromeTest.kt
136. Single Number SingleNumber.kt SingleNumberTest.kt
151. Reverse Words in a String ReverseWordInAString.kt ReverseWordInAStringTest.kt
169. Majority Element MajorityElement.kt MajorityElementTest.kt BoyerMooreVotingAlgorithm.md
171. Excel Sheet Column Number ExcelSheetColumnNumber.kt ExcelSheetColumnNumberTest.kt
206. Reverse Linked List ReverseLinkedList.kt ReverseLinkedListTest.kt
217. Contains Duplicate ContainsDuplicate.kt ContainsDuplicateTest.kt
242. Valid Anagram ValidAnagram.kt ValidAnagramTest.kt
283. Move Zeroes MoveZeroes.kt MoveZeroesTest.kt
326. Power of Three PowerOfThree.kt PowerOfThreeTest.kt
344. Reverse String ReverseString.kt ReverseStringTest.kt
345. Reverse Vowels of a String ReverseVowelsOfAString.kt ReverseVowelsOfAStringTest.kt
387. First Unique Character In A String FirstUniqueCharacterInAString.kt FirstUniqueCharacterInAStringTest.kt
392. Is Subsequence IsSubsequence.kt IsSubsequenceTest.kt
412. Fizz Buzz FizzBuzz.kt FizzBuzzTest.kt
605. Can Place Flowers CanPlaceFlowers.kt CanPlaceFlowersTest.kt
796. Rotate String RotateString.kt RotateStringTest.kt
1207. Unique Number of Occurrences UniqueNumberOfOccurrences.kt UniqueNumberOfOccurrencesTest.kt
1431. Kids With the Greatest Number of Candies KidsWithTheGreatestNumberOfCandies.kt KidsWithTheGreatestNumberOfCandiesTest.kt
1768. Merge Strings Alternately MergeStringsAlternately.kt MergeStringsAlternatelyTest.kt
2215. Find the Difference of Two Arrays FindTheDifferenceOfTwoArrays.kt FindTheDifferenceOfTwoArraysTest.kt
2423. Remove Letter To Equalize Frequency RemoveLetterToEqualizeFrequency.kt RemoveLetterToEqualizeFrequencyTest.kt

About


Languages

Language:Kotlin 100.0%