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.