migafgarcia / programming-challenges

My solutions to various programming challenges.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programming Challenges

Challenge Solution Difficulty Observations
1. Two Sum two_sum.py Easy
2. Add Two Numbers AddTwoNumbers.kt AddTwoNumbers2.kt Medium Version 2 was a failed attempt. Runtime: 252 ms, faster than 89.36% of Kotlin online submissions for Add Two Numbers.
3. Longest Substring Without Repeating Characters LongestSubstringWithoutRepeatingCharacters.kt Medium Runtime: 384 ms, faster than 27.11% of Kotlin online submissions for Longest Substring Without Repeating Characters... :(
4. Median of Two Sorted Arrays median_of_two_sorted_arrays.c Hard The problem requested O(log(m+n)) but this solution is O(m+n)
5. Longest Palindromic Substring LongestPalindromicSubstring.kt LongestPalindromicSubstring.java Medium
7. Reverse Integer ReverseInteger.kt Easy
11. Container With Most Water ContainerWithMostWater.java Medium Runtime: 4 ms, faster than 99.26%
15. 3Sum 3Sum.kt Medium
22. Generate Parentheses GenerateParentesis.kt Medium
46. Permutations permutations.c Medium
49. Group Anagrams GroupAnagrams.java Medium
65. Valid Number ValidNumber.java Hard
73. Set Matrix Zeroes SetMatrixZeroes.java Medium
104. Maximum Depth of Binary Tree MaximumDepthOfBinaryTree.cpp Easy
124. Binary Tree Maximum Path Sum max_path_sum.c Hard Solution by shichaotan
136. Single Number single_number.cpp Easy
146. LRU Cache lru_cache.c Hard Hash table with linked elements, organized through pointer manipulation
155. Min Stack min_stack.c Easy
160. Intersection of Two Linked Lists IntersectionOfTwoLinkedLists.java Easy
297. Serialize and Deserialize Binary Tree SerializeAndDeserializeBinaryTree.java Hard
328. Odd Even Linked List OddEvenLinkedList.kt Medium
338. Counting Bits counting_bits.cpp Medium
380. Insert Delete GetRandom O(1) InsertDeleteGetRandomO1.java Medium
406. Queue Reconstruction by Height Medium Solution
461. Hamming Distance hamming_distance.py Easy
581. Shortest Unsorted Continuous Subarray shortest_unsorted_continuos_subarray.c Easy Inspired by compton_scatter solution
617. Merge Two Binary Trees MergeTwoBinaryTrees.kt Easy
Challenge Solution Difficulty
ASCII Art AsciiArt.java Easy
Chuck Norris chuck_norris.c Easy
Mars Lander - Episode 1 mars_lander_episode_1.c Easy
Onboarding onboarding.py Easy
Power of Thor - Episode 1 power_of_thor_episode_1.c Easy
Temperatures temperatures.c Easy
The Bridge - Episode 1 the_bridge_episode_1.c Easy
There is no Spoon - Episode 1 ThereIsNoSpoonEpisode1.java Medium
Challenge Solution Difficulty
Maze To Graph MazeToGraph.java Medium
Escaping a dangerous maze MazeRunner.java Hard
Challenge Solution Difficulty
Alphabet Cake alphabet_cake.py Round 1A 2017
Challenge Solution Difficulty
Linked Lists: Detect a Cycle detect_a_cycle.py Easy
Hash Tables: Ransom Note ransom_note.py Easy
Arrays: Left Rotation left_rotation.c Easy
Strings: Making Anagrams MakingAnagrams.java Easy
Recursion: DP: Fibonacci Numbers fibonacci.py Easy
Bit Manipulation: Lonely Integer lonely_integer.py Easy
Stacks: Balanced Brackets balanced_brackets.c Medium
Trees: Is This a Binary Search Tree? BST.java Medium
Queues: A Tale of Two Stacks two_stacks.c Medium
Sorting: Bubble Sort bubble_sort.c Medium
Sorting: Comparator Checker.java Medium
Time Complexity: Primality primality.py Medium
Recursion: DP: Davis' Staircase davis_staircase.py Medium
Binary Search: Ice Cream Parlor ice_cream.py Medium
Tries: Contacts Contacts.java Hard
DFS: Connected Cell in a Grid connected_cell.c Hard
Merge Sort: Counting Inversions counting_inversions.c Hard
Heaps: Find the Running Median running_median.c Hard
DP: Coin Change coin_change.py Hard
BFS: Shortest Reach in a Graph shortest_reach.py Hard
Challenge Part 1 Part2
Day 1: Not Quite Lisp day_1_a.cpp day_1_b.cpp
Day 2: I Was Told There Would Be No Math day_2_a.cpp day_2_b.cpp
Day 3: Perfectly Spherical Houses in a Vacuum day_3_a.cpp day_3_b.cpp
Day 4: The Ideal Stocking Stuffer day_4_a.cpp day_4_b.cpp
Day 5: Doesn't He Have Intern-Elves For This? day_5_a.cpp day_5_b.cpp
Day 6: Probably a Fire Hazard day_6_a.cpp day_6_b.cpp
Day 7: Some Assembly Required day_7_a.cpp day_7_b.cpp
Challenge Part 1 Part2
Day 1: Chronal Calibration day_1_a.kt day_1_b.kt
Day 2: Inventory Management System day_2_a.kt day_2_b.kt
Day 3: No Matter How You Slice It day_3_a.kt day_3_b.kt
Day 4: Repose Record day_4_a.kt day_4_b.kt
Day 5: Alchemical Reduction day_5_a.kt day_5_b.kt
Day 6: Chronal Coordinates day_6_a.kt day_6_b.kt
Day 7: The Sum of Its Parts day_7_a.kt day_7_b.kt
Day 8: Memory Maneuver day_8_a.kt day_8_b.kt
Day 9: Marble Mania day_9_a.kt day_9_b.kt
Day 10: The Stars Align day_10_a.kt day_10_b.kt
Day 11: Chronal Charge day_11_a.kt day_11_b.kt
Day 12: Subterranean Sustainability day_12_a.kt day_12_b.kt

About

My solutions to various programming challenges.

License:MIT License


Languages

Language:C++ 51.3%Language:Kotlin 16.2%Language:C 14.7%Language:Java 9.7%Language:C# 4.5%Language:Python 3.5%