(To skip reading the introduction, you can scroll down to "Algorithms-With-Swift" section.)
An algorithm is a procedure that transforms/converts an input into an output.
In an algorithm, a series of computations are applied on an input to get an output. We can call this sequential series of computations a procedure, and this procedure is what we call an algorithm.
Polymorphism, Inheritance, Encapsulation, Properties, Methods, Overriding versus Overloading, Types versus Instances , Composition, Access Control
Writing this project for learning purposes. We have started with simple algorithms, and we will try to cover more as we go further.
We will be solving algorithm problem statements using Swift Programming Language to begin with.
- LRU Cache - My Playground leedcode --> https://leetcode.com/playground/ZrvCR76F
- Linked List
- Merge two link Lists
- Reverse a linked list
- Linked List Cycle
- Reverse a linked list in K Group
- Binary Tree Traversals
- Tree BFS and DFS Logic -> Explanation Link
- Level order traversal Using BFS -> Leetcode
- Binary Tree Paths -> LeetCode 257
- Invert Binary Tree Along Root
- Lowest Common Ancestor
- Leetcode 1026
- Burn a Binary Tree Using Graph -> Interview Bit
- Right View of binary tree -> LeetCode
- Adjanecy list graph
- DFS - Number of islands -> LC
- Dijkestra
- Reverse an Array
- Two Sum Problem
- Non-decreasing Array
- Find Third Maximum in Array
- Triplet Sum problem
- First Non Repetitive number in array
- Data Source Array
- Array Running Sum
- Shortest Unsorted Continuous Subarray
- Rotate Array
- Reverse Digits
- Sum of Integer digits
- Shuffle Array
- Find Duplicate - Floyed - Tortoie and Hare algo
- Longest SubArray by Sum
- Kids With the Greatest Number of Candies
- Number Of Good Pairs
- Numbers With Even Digits
- Longest SubArray using sliding window
- Kadanes algo longest subarray with max sum
- Leetcode 66
- Leetcode 392
- Leetcode1528
- Leetcode1365
- Two pointer -> Container with most water -> LC