Skip to content

surajr/CodingInterview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Coding Interview

Language License SayThanks

Why you should follow this repository?

As a student I solved many leetcode problems but unable to identify the most efficient solution and this repo will help you with explanation and data structure wise questions. It's easy to access and time saver before the interview

Often careercup contains buggy code and most inefficient algorithms. I try to add an effcient one with explanation in my own words.

Feel free to add issues, create pull requests and be a contributer.

Algorithms

Bit Manipulation

Website Title Solution Time Space Difficulty Note
Careercup Permutation Casewise Java O(2^n) O(1) Medium
Leetcode 461. Hamming Distance Java O(n) O(1) Easy
Leetcode 338. Counting Bits Java O(nk) O(n) Medium
Leetcode 190. Reverse Bits Java O(n) O(n) Easy
Leetcode 191. Number of 1 Bits Java O(n) O(1) Easy
Leetcode 401. Binary Watch Java O(n) O(1) Easy

Arrays

Website Title Solution Time Space Difficulty Note
Leetcode 605. Can Place Flowers Java O(n) O(1) Easy
Leetcode 643. Maximum Average Subarray I Java O(n) O(1) Easy
Leetcode 628. Maximum Product of Three Numbers Java O(n) O(1) Easy
Leetcode 605. Can Place Flowers Java O(n) O(1) Easy
Leetcode 611. Valid Triangle Number Java O(n) O(1) Easy
Leetcode 561. Array Partition I Java O(nlogn) O(1) Easy
Leetcode 611. Valid Triangle Number Java O() O() Medium
Leetcode 66. Plus One Java O(n) O(1) Easy
Leetcode 88. Merge Sorted Array Java O(n) O(1) Easy
Leetcode 189. Rotate Array Java O(n) O(1) Easy
Leetcode 566. Reshape the Matrix Java O(m*n) O(m*n) Easy
Leetcode 624. Maximum Distance in Arrays Java O(m*n) O(m*n) Easy
Leetcode 598. Range Addition II Java O(n) O(1) Easy
Leetcode 674. Longest Continuous Increasing Subsequence Java O(n) O(1) Easy
Leetcode 383. Ransom Note Java O(n) O(1) Easy
Leetcode 350. Intersection of Two Arrays II Java O(m+n) O(1) Easy
Leetcode 346. Moving Average from Data Stream Java O(n) O(1) Easy
Leetcode 217. Contains Duplicate Java O(n) O(1) Easy
Leetcode 442. Find All Duplicates in an Array Java O(n) O(1) Easy
Leetcode 31. Next Permutation Java O(n) O(1) Easy
Leetcode 713. Subarray Product Less Than K Java O(n) O(1) Medium
Leetcode 121. Best Time to Buy and Sell Stock Java O(n) O(1) Easy

Strings

Website Title Solution Time Space Difficulty Note
Leetcode 557. Reverse Words in a String III Java O(n) O(1) Easy
Leetcode 387. First Unique Character in a String Java O(n) O(n) Easy
Leetcode 647. Palindromic Substrings Java O(n^2) O(1) Easy
Leetcode 500. Keyboard Row Java O(n) O(1) Easy
Leetcode 293. Flip Game Java O(n) O(1) Easy
Leetcode 521. Longest Uncommon Subsequence I Java O(n) O(1) Easy
Leetcode 537. Complex Number Multiplication Java O(n) O(1) Medium
Leetcode 168. Excel Sheet Column Title Java O(n) O(1) Easy
Leetcode 551. Student Attendance Record I Java O(n) O(1) Easy
Leetcode 686. Repeated String Match Java O(n) O(1) Easy
Leetcode 541. Reverse String II Java O(n) O(1) Easy
Leetcode 205. Isomorphic Strings Java O(n) O(1) Easy
Leetcode 520. Detect Capital Java O(n) O(1) Easy
Leetcode 408. Valid Word Abbreviation Java O(n) O(1) Easy
Leetcode 243. Shortest Word Distance Java O(n) O(1) Easy
Leetcode 389. Find the Difference Java O(n) O(1) Easy
Leetcode 345. Reverse Vowels of a String Java O(n) O(1) Easy
Leetcode 290. Word Pattern Java O(n) O(1) Easy
Leetcode 151. Reverse Words in a String Java O(n) O(1) Easy
Leetcode 125. Valid Palindrome Java O(n) O(1) Easy
Leetcode 422. Valid Word Square Java O(n) O(1) Easy
Leetcode 165. Compare Version Numbers Java O(n) O(1) Medium
Leetcode 242. Valid Anagram Java O(n) O(n) Easy

HashMap

Website Title Solution Time Space Difficulty Note
Leetcode 1. Two Sum Java O(n) O(n) Easy
Leetcode 359. Logger Rate Limiter Java O(n) O(n) Easy
Leetcode 535. Encode and Decode TinyURL Java O(n) O(1) Medium
Leetcode 266. Palindrome Permutation Java O(n) O(1) Easy
Leetcode 525. Contiguous Array Java O( ) O( ) Medium
Leetcode 170. Two Sum III - Data structure design Java O(n) O(n) Medium
Leetcode 594. Longest Harmonious Subsequence Java O(n) O(n) Easy
Leetcode 532. K-diff Pairs in an Array Java O(n) O(n) Easy
Leetcode 506. Relative Ranks Java O(n) O(n) Easy
Leetcode 677. Map Sum Pairs Java O(n) O(1) Easy
Leetcode 219. Contains Duplicate II Java O(n) O(n) Easy
Leetcode 454. 4Sum II Java O(n^2) O(n^2) Medium
Leetcode 169. Majority Element Java O(n) O(n) Easy

Trees

Website Title Solution Time Space Difficulty Note
Leetcode 653. Two Sum IV - Input is a BST Java O(n) O(n) Easy
Leetcode 617. Merge Two Binary Trees Java O(mn) O(1) Easy
Leetcode 637. Average of Levels in Binary Tree Java O(n) O(1) Easy
Leetcode 663. Equal Tree Partition Java Medium
Leetcode 623. Add One Row to Tree Java Medium
Leetcode 662. Maximum Width of Binary Tree Java O(n) O(d) Medium
Leetcode 606. Construct String from Binary Tree Java O(n) O(1) Easy
Leetcode 101. Symmetric Tree Java O(n) O(1) Easy
Leetcode 111. Minimum Depth of Binary Tree Java O(n) O(1) Easy
Leetcode 110. Balanced Binary Tree Java O(n) O(1) Easy
Leetcode 687. Longest Univalue Path Java O(n) O(1) Easy
Leetcode 572. Subtree of Another Tree Java O(m2+n2+mn) O(max(m,n) Easy
Leetcode 543. Diameter of Binary Tree Java O(v + e) O(1) Easy
Leetcode 530. Minimum Absolute Difference in BST Java O(v + e) O(1) Easy
Leetcode 94. Binary Tree Inorder Traversal Java O(n) O(n) Medium
Leetcode 144. Binary Tree Preorder Traversal Java O(n) O(n) Medium

Dynamic Programming

Website Title Solution Time Space Difficulty Note
Leetcode 53. Maximum Sum Subarray Java O(n) O(1) Easy
Leetcode 152. Maximum Product Subarray Java O(n) O(1) Medium
Leetcode 628. Maximum Product of Three Numbers Java O(n) O(1) Easy
Leetcode 62. Unique Paths Java O(m*n) O(m+n) Easy
Leetcode 62. Unique Paths Java O(n) O(1) Easy
Leetcode 264. Ugly Number II Java O(n) O(1) Easy
Leetcode 70. Climbing Stairs Java O(n) O(1) Easy
Leetcode 198. House Robber Java O(n) O(1) Easy

Recursion

Website Title Solution Time Space Difficulty Note
Leetcode 654. Maximum Binary Tree Java O(n log n) O(n) Easy
Leetcode 50. Pow(x, n) Java O() O(n) Medium

Recursion

Website Title Solution Time Space Difficulty Note
Leetcode 339. Nested List Weight Sum Java O( ) O( ) Easy

Heaps

Website Title Solution Time Space Difficulty Note
Leetcode 621. Task Scheduler Java O(n) O(n) Medium

Binary Search

Website Title Solution Time Space Difficulty Note
Leetcode 278. First Bad Version Java O(logn) O(1) Easy

Stack

Website Title Solution Time Space Difficulty Note
Leetcode 155. Min Stack Java O(n) O(1) Easy
Leetcode 496. Next Greater Element I Java O(mn) O(m+n) Easy
Leetcode 20. Valid Parentheses Java O(n) O(n) Easy
Leetcode 232. Implement Queue using Stacks Java O(n) O(n) Easy

Queue

Website Title Solution Time Space Difficulty Note
Leetcode 225. Implement Stack using Queues Java O(n) O(1) Easy

LinkedList

Website Title Solution Time Space Difficulty Note
Leetcode 328. Odd Even Linked List Java O(n) O(1) Medium
Leetcode 23. Merge k Sorted Lists Java O(n logk) O(1) Hard
Leetcode 83. Remove Duplicates from Sorted List Java O(n) O(1) Easy
Leetcode 203. Remove Linked List Elements Java O(n) O(1) Easy
Leetcode 237. Delete Node in a Linked List Java O(1) O(1) Easy
Leetcode 206. Reverse Linked List Java O(n) O(1) Easy
Leetcode 2. Add Two Numbers Java O(n+m) O(n+m) Medium
Leetcode 21. Merge Two Sorted Lists Java O(n) O(1) Easy
Leetcode 24. Swap Nodes in Pairs Java O(n) O(1) Medium
Leetcode 234. Palindrome Linked List Java O(n) O(1) Medium

TwoPointers

Website Title Solution Time Space Difficulty Note
Leetcode 680. Valid Palindrome II Java O(n) O(1) Easy

BFS

Website Title Solution Time Space Difficulty Note
Leetcode 690. Employee Importance Java O(v+e) O(1) Easy

SQL

Website Title Solution Time Space Difficulty Note
Leetcode 197. Rising Temperature SQL O(n) O(1) Easy
Leetcode 627. Swap Salary SQL O(n) O(1) Easy
Leetcode 181. Employees Earning More Than Their Managers SQL O(n) O(1) Easy

Releases

No releases published

Packages

 
 
 

Contributors

Languages