Here is a list programming question from reddit that needs to be solved. link: https://www.reddit.com/r/cscareerquestions/comments/20ahfq/heres_a_pretty_big_list_of_programming_interview/
- Write comments for other people to understand your code easily.
- Write your functions in given classes. Create new class if you have to implement any data structure.
- Write (Done) next to the problem that you have successfully solved.
- Push your code in dev branch then create a pull request for review.
- If you want to add more questions, please add them in the right categories.
- Find the most frequent integer in an array (Done:Java, Python) ✅
- Find pairs in an integer array whose sum is equal to 10 (bonus: do it in linear time) (Done:Java, Python) ✅
- Given 2 integer arrays, determine of the 2nd array is a rotated version of the 1st array. Ex. Original Array A={1,2,3,5,6,7,8} Rotated Array B={5,6,7,8,1,2,3} (Done:Java) ✅
- Write fibbonaci iteratively and recursively (bonus: use dynamic programming) (Done:Python) ✅
- Find the only element in an array that only occurs once. (Done:Java) ✅
- Find the common elements of 2 int arrays (Done:Java) ✅
- Implement binary search of a sorted array of integers (Done:Java) ✅
- Implement binary search in a rotated array (ex. {5,6,7,8,1,2,3})
- Use dynamic programming to find the first X prime numbers
- Write a function that prints out the binary form of an int
- Implement parseInt
- Implement squareroot function
- Implement an exponent function (bonus: now try in log(n) time)
- Write a multiply function that multiples 2 integers without using *
- HARD: Given a function rand5() that returns a random int between 0 and 5, implement rand7()
- HARD: Given a 2D array of 1s and 0s, count the number of "islands of 1s" (e.g. groups of connecting 1s)
- HARD: Given a number, print it out in words. (Done:Python)✅
- Find the first non-repeated character in a String (Done:Java) ✅
- Reverse a String iteratively and recursively (Done:Java) ✅
- Determine if 2 Strings are anagrams(Done:Java, Pyhton) ✅
- Check if String is a palindrome (Done:Pyhton) ✅
- Check if a String is composed of all unique characters
- Determine if a String is an int or a double
- HARD: Find the shortest palindrome in a String
- HARD: Print all permutations of a String
- HARD: Given a single-line text String and a maximum width value, write the function 'String justify(String text, int maxWidth)' that formats the input text using full-justification, i.e., extra spaces on each line are equally distributed between the words; the first word on each line is flushed left and the last word on each line is flushed right
- HARD: Given a string encrypt it using a self-generating one time pad
- Implement a BST with insert and delete functions (Done:Python) ✅
- Print a tree using BFS and DFS
- Write a function that determines if a tree is a BST
- Find the smallest element in a BST
- Find the 2nd largest number in a BST
- Given a binary tree which is a sum tree (child nodes add to parent), write an algorithm to determine whether the tree is a valid sum tree
- Find the distance between 2 nodes in a BST and a normal binary tree
- Print the coordinates of every node in a binary tree, where root is 0,0
- Print a tree by levels
- Given a binary tree which is a sum tree, write an algorithm to determine whether the tree is a valid sum tree
- Given a tree, verify that it contains a subtree.
- HARD: Find the max distance between 2 nodes in a BST.
- HARD: Construct a BST given the pre-order and in-order traversal Strings
- Implement a stack with push and pop functions (Done:Java) ✅
- Find the minimum element in a stack in O(1) time (http://bit.ly/2hwtynw) (Done:Java) ✅
- Write a function that sorts a stack (bonus: sort the stack in place without extra memory)
- Reverse a stack recursively (Done:Java) ✅
- Implement a queue with queue and dequeue functions
- HARD: Implement a queue using 2 stacks (Done:Pyhton) ✅
Implement a binary min heap. Turn it into a binary max heap
- Implement a linked list (with insert and delete functions)
- Find the Nth element in a linked list
- Remove the Nth element of a linked list
- Check if a linked list has cycles
- Given a circular linked list, find the node at the beginning of the loop. Example: A-->B-->C --> D-->E -->C, C is the node that begins the loop
- Check whether a link list is a palindrome
- Reverse a linked list iteratively and recursively
- Implement bubble sort (Done:Java) ✅
- Implement selection sort (Done:Java) ✅
- Implement insertion sort
- Implement merge sort
- Implement quick sort