# Interview Preparation

a repo for solutions for Leetcode and similar problems

## LeetCode Problems:

### Arrays & Strings

Name | Solution | Level | Notes |
---|---|---|---|

Boats to Save People | Link | Medium | Sort the list and check elements from the beginning and end |

Container with Most Water | Link | Medium | Finding max area by checking elements from two sides of array. max(temp,max_area). If height[left] < height [right] increase left |

Find First and Last Position of Element in Sorted Array | Link | Medium | Write two functions one for finding first pos, other one is for finding last pos. Use binary search |

First Bad Version | Link | Easy | Sorted array find value just like binary search |

Longest Substring without Repeating Elements | Link | Medium | Use two pointers and dict |

Move Zeroes | Link | Easy | Two for loops; one of them is for overwriting all elements by non-zero elements, the other one is for adding zeroes |

### Linked Lists

Name | Solution | Level | Notes |
---|---|---|---|

Add Two Numbers | Link | Medium | Estimate depth, calculate number itself, sum them up, return -1. Use carry approach simple, easy. My explanation on Leetcode |

Linked List Cycle | Link | Easy | Initialize two pointers, move one of them by 1, other one by 2. If there is a cycle, eventually those two pointers show the same value. Tortoise & Hare, Floyd’s algorithm My explanation on Leetcode |

Merge Two Sorted Lists | Link | Easy | Compare two elements at the same time, add rest of them |

Reverse Linked List | Link | Easy | Utilize iteration method to reverse linked list. Use three pointers prev,head and next and change head’s next position to prev and update each element’s place. |

### Maps

Name | Solution | Level | Notes |
---|---|---|---|

4Sum II | Link | Medium | The first two elements’ sum must equal to (-1) of last two elements’ sum |

Contains Duplicate | Link | Easy | Sets. My explanation on Leetcode |

Group Anagrams | Link | Medium | Sort strings and use them as keys |

LRU Cache | Link | Hard | Use Deque and Map to find solution |

Majority Element | Link | Easy | Count the occurrence of items solve the question |

Two Sum | Link | Medium | Use remaining number as a key. If you need to have 9, check remaining values 7,5,3 for 2,4,6 respectively. If you find the same remaining value in your list, you are done. |

### Math

Name | Solution | Level | Notes |
---|---|---|---|

Add Binary | Link | Medium | Check binary rules |

Count Primes | Link | Easy | Boolean array, iterate 2..sqrt(2) and set n*n |

Missing Number | Link | Easy | (n * (n + 1))/ 2 |

Robot Return to Origin | Link | Easy | Calculate X & Y coordinate seperately |

Single Number | Link | Easy | Use sets, subtract 2*(set_version) from original one |

## inzva

### Algorithm Training Beginner Set [Official solutions]

Problem & Solution |
---|

Easy Magic Trick |

Ice Cream Yum Yum |

Harun & Sami |

Hopscotch |

Meme Man |

Merge Sort |

Stringer Things |

Stickers |

Usain Bolt |

The Pit |

## Data Structures

Name | Example | Notes |
---|---|---|

Doubly Linked List | Link | Next and previous |

Singly Linked List | Link | Only next Insertion & Deletion O(1) |

## Algorithms

Name | Example | Notes |
---|---|---|

Binary Search | Link | Must be sorted, Divide the array by 2 and iterate |

Sliding Window | Link |