Algorithms Solutions in Swift
This repository contains solutions from AlgoExpert, LeetCode & HackerRank in Swift programming language.
Suggestions and contributions are welcome.
| Serial No. |
Problem |
Solution |
Time Complexity |
Space Complexity |
Notes |
| 1 |
3D Surface Area |
Link |
_ |
_ |
_ |
| 2 |
Almost Sorted |
Link |
_ |
_ |
_ |
| 3 |
Binary Search Trees |
Link |
_ |
_ |
_ |
| 4 |
Bitwise AND |
Link |
_ |
_ |
_ |
| 5 |
Convert Decimal to Binary |
Link |
_ |
_ |
_ |
| 6 |
Count Pairs |
Link |
_ |
_ |
_ |
| 7 |
Encryption |
Link |
_ |
_ |
_ |
| 8 |
Extra Long Factorials |
Link |
_ |
_ |
_ |
| 9 |
Larry's Array |
Link |
_ |
_ |
_ |
| 10 |
Merge Sort |
Link |
_ |
_ |
_ |
| 11 |
Palindrome String |
Link |
_ |
_ |
_ |
| 12 |
Reverse String |
Link |
_ |
_ |
_ |
| 13 |
Sum of Natural Number |
Link |
_ |
_ |
_ |
| 14 |
Tic Tac Toe Winner |
Link |
_ |
_ |
_ |
| 15 |
Two Strings |
Link |
_ |
_ |
_ |
| Serial No. |
Problem |
Solution |
Time Complexity |
Space Complexity |
Notes |
| 1 |
3 Sum Closest |
Link |
_ |
_ |
_ |
| 2 |
Merge Intervals |
Link |
_ |
_ |
_ |
| 3 |
Divide Two Integers |
Link |
_ |
_ |
_ |
| 4 |
Single Number |
Link |
_ |
_ |
_ |
| 5 |
Majority Element |
Link |
_ |
_ |
_ |
| 6 |
Three Number Sum Zero |
Link |
_ |
_ |
_ |
| 7 |
Binary Search |
Link |
_ |
_ |
_ |
| 8 |
First Bad Version |
Link |
_ |
_ |
_ |
| 9 |
Search Insert Position |
Link |
_ |
_ |
_ |
| 10 |
Merge Intervals |
Link |
_ |
_ |
_ |
| 11 |
Sort Colors |
Link |
_ |
_ |
_ |
| 12 |
Design HashMap |
Link |
_ |
_ |
_ |
| 13 |
Squares of a Sorted Array |
Link |
_ |
_ |
_ |
| 14 |
Rotate Array |
Link |
_ |
_ |
_ |
| 15 |
Move Zeros to End |
Link |
_ |
_ |
_ |
| 16 |
Two Sum - Input Array Sorted |
Link |
_ |
_ |
_ |
| 17 |
Pascal's Triangle - II |
Link |
_ |
_ |
_ |
| 18 |
Rotate Image |
Link |
_ |
_ |
_ |
| 19 |
Spiral Matix II |
Link |
_ |
_ |
_ |
| 20 |
Reverse String |
Link |
_ |
_ |
_ |
| 21 |
Reverse Words in a String |
Link |
_ |
_ |
_ |
| 22 |
Search in a 2D Matrix |
Link |
_ |
_ |
_ |
| 23 |
Erase Overlapping Intervals |
Link |
_ |
_ |
_ |
| 24 |
Middle of the Linked List |
Link |
_ |
_ |
_ |
| 25 |
Remove Nth Node from End of the Linked List |
Link |
_ |
_ |
_ |
| 26 |
Longest Substring without Repeating Characters |
Link |
_ |
_ |
_ |
| 27 |
Permutation in a String |
Link |
_ |
_ |
_ |
| 28 |
Increasing Triplet Subsequence |
Link |
_ |
_ |
_ |
| 29 |
Porduct of Array Except Self |
Link |
_ |
_ |
_ |
| 30 |
Sub Array Sum Equals K |
Link |
_ |
_ |
_ |
| 31 |
Add Strings |
Link |
_ |
_ |
_ |
| 32 |
Longest Palindrome |
Link |
_ |
_ |
_ |
| 33 |
Word Pattern |
Link |
_ |
_ |
_ |
| 34 |
Partition Labels |
Link |
_ |
_ |
_ |
| 35 |
Group Anagrams |
Link |
_ |
_ |
_ |
| 36 |
Multiply Strings |
Link |
_ |
_ |
_ |
| 37 |
Flood Fill |
Link |
_ |
_ |
_ |
| 38 |
Max Area of Island |
Link |
_ |
_ |
_ |
| 39 |
Merge Two Binary Trees |
Link |
_ |
_ |
_ |
| 40 |
Populatng Next Right Pointer In Each Node |
Link |
_ |
_ |
_ |
| 41 |
Three Sum Smaller |
Link |
_ |
_ |
_ |
| 42 |
Spiral Matrix |
Link |
_ |
_ |
_ |
| 43 |
Valid Parentheses |
Link |
_ |
_ |
_ |
| 44 |
Best Time to Buy and Sell Stock |
Link |
_ |
_ |
_ |
| 45 |
Longest Palindrome |
Link |
_ |
_ |
_ |
| 46 |
Subsets |
Link |
_ |
_ |
_ |
| 47 |
Convert Time with Minimum Operations |
Link |
_ |
_ |
_ |
| 48 |
Find Players with Zero or One Loses |
Link |
_ |
_ |
_ |
| 49 |
Largest Integer Digit Swap By Parity |
Link |
_ |
_ |
_ |
| 50 |
Container with Most Water |
Link |
_ |
_ |
_ |
| 51 |
License Key Formatting |
Link |
_ |
_ |
_ |
| 52 |
Unique Email Addresses |
Link |
_ |
_ |
_ |
| 53 |
Sort By Parity |
Link |
_ |
_ |
_ |
| 54 |
Maximum Bags with Full Capacity of Rocks |
Link |
_ |
_ |
_ |
| 55 |
Search 2D Matrix II |
Link |
_ |
_ |
_ |
| 56 |
Remove Duplicates Sorted Array |
Link |
_ |
_ |
_ |
| 57 |
Remove Element |
Link |
_ |
_ |
_ |
| Serial No. |
Problem |
Solution |
Time Complexity |
Space Complexity |
Notes |
| 1 |
Breadth First Search |
Link |
_ |
_ |
_ |
| 2 |
Array of Products |
Link |
_ |
_ |
_ |
| 3 |
Binary Search Tree Construction |
Link |
_ |
_ |
_ |
| 4 |
Binary Search Tree Traversal |
Link |
_ |
_ |
_ |
| 5 |
Binary Search |
Link |
_ |
_ |
_ |
| 6 |
Binary Tree Diameter |
Link |
_ |
_ |
_ |
| 7 |
Branch Sums |
Link |
_ |
_ |
_ |
| 8 |
Bubble Sort |
Link |
_ |
_ |
_ |
| 9 |
Caesar Cipher Encryptor |
Link |
_ |
_ |
_ |
| 10 |
Class Photos |
Link |
_ |
_ |
_ |
| 11 |
Depth First Search |
Link |
_ |
_ |
_ |
| 12 |
Find Closest Value in Binary Search Tree |
Link |
_ |
_ |
_ |
| 13 |
Find Loop in Linked List |
Link |
_ |
_ |
_ |
| 14 |
Find Successor |
Link |
_ |
_ |
_ |
| 15 |
Find Three Largest Numbers |
Link |
_ |
_ |
_ |
| 16 |
First Duplicate Value |
Link |
_ |
_ |
_ |
| 17 |
First Non-Repeating Character |
Link |
_ |
_ |
_ |
| 18 |
Four Number Sum |
Link |
_ |
_ |
_ |
| 19 |
Generate Document |
Link |
_ |
_ |
_ |
| 20 |
Invert Binary Tree |
Link |
_ |
_ |
_ |
| 21 |
Insertion Sort |
Link |
_ |
_ |
_ |
| 22 |
Largest Range |
Link |
_ |
_ |
_ |
| 23 |
Linked List Construction |
Link |
_ |
_ |
_ |
| 24 |
Longest Palindromic Substring |
Link |
_ |
_ |
_ |
| 25 |
Longest Peak |
Link |
_ |
_ |
_ |
| 26 |
Max Subset Sum No Adjacent |
Link |
_ |
_ |
_ |
| 27 |
Merge Linked Lists |
Link |
_ |
_ |
_ |
| 28 |
Merge Overlapping Intervals |
Link |
_ |
_ |
_ |
| 29 |
Merge Sort |
Link |
_ |
_ |
_ |
| 30 |
Minimum Height Binary Search Tree |
Link |
_ |
_ |
_ |
| 31 |
Minimum Waiting Time |
Link |
_ |
_ |
_ |
| 32 |
Monotonic Array |
Link |
_ |
_ |
_ |
| 33 |
Move Element To End |
Link |
_ |
_ |
_ |
| 34 |
Node Depths |
Link |
_ |
_ |
_ |
| 35 |
Non-Constructible Change |
Link |
_ |
_ |
_ |
| 36 |
Nth Fibonacci Number |
Link |
_ |
_ |
_ |
| 37 |
Palindrome Check |
Link |
_ |
_ |
_ |
| 38 |
Prodcut Sum |
Link |
_ |
_ |
_ |
| 39 |
Quick Sort |
Link |
_ |
_ |
_ |
| 40 |
Remove Duplicates From Linked List |
Link |
_ |
_ |
_ |
| 41 |
Remove kth Node From End |
Link |
_ |
_ |
_ |
| 42 |
Reverse Linkedlist |
Link |
_ |
_ |
_ |
| 43 |
Run Length Encoding |
Link |
_ |
_ |
_ |
| 44 |
Search For Range |
Link |
_ |
_ |
_ |
| 45 |
Search in Sorted Matrix |
Link |
_ |
_ |
_ |
| 46 |
Selection Sort |
Link |
_ |
_ |
_ |
| 47 |
Shifted Binary Search |
Link |
_ |
_ |
_ |
| 48 |
Single Cycle Check |
Link |
_ |
_ |
_ |
| 49 |
Smallest Difference |
Link |
_ |
_ |
_ |
| 50 |
Sorted Squared Array |
Link |
_ |
_ |
_ |
| 51 |
Spiral Traverse |
Link |
_ |
_ |
_ |
| 52 |
Subarray Sort |
Link |
_ |
_ |
_ |
| 53 |
Sum of Linkedlist |
Link |
_ |
_ |
_ |
| 54 |
Tandem Bicycle |
Link |
_ |
_ |
_ |
| 55 |
Three Number Sort |
Link |
_ |
_ |
_ |
| 56 |
Three Number Sum |
Link |
_ |
_ |
_ |
| 57 |
Tournament Winner |
Link |
_ |
_ |
_ |
| 58 |
Two Number Sum |
Link |
_ |
_ |
_ |
| 59 |
Validate Binary Search Tree |
Link |
_ |
_ |
_ |
| 60 |
Validate Subsequence |
Link |
_ |
_ |
_ |
| 61 |
ZigZag Traverse |
Link |
_ |
_ |
_ |
| 62 |
Valid Starting City |
Link |
_ |
_ |
_ |
| 63 |
Task Assignment |
Link |
_ |
_ |
_ |
| 64 |
Min Rewards |
Link |
_ |
_ |
_ |
| 65 |
Kadanes Algorithm |
Link |
_ |
_ |
_ |
| 66 |
Calender Matching |
Link |
_ |
_ |
_ |
| 67 |
Balanced Brackets |
Link |
_ |
_ |
_ |
| 68 |
Apartment Hunting |
Link |
_ |
_ |
_ |
| 69 |
Group Anagrams |
Link |
_ |
_ |
_ |
| 70 |
Valid IP Addresses |
Link |
_ |
_ |
_ |
| 71 |
Permutations |
Link |
_ |
_ |
_ |
| 72 |
Power Sets |
Link |
_ |
_ |
_ |
Note: ReadMe file does not contain all the solution links from this repo. It is still in progress and I am updating in my free time.