CLOSEST PAIR
+========+
Time: 2 hours - 3 hours
Difficulty: Hard
Languages: Any
+========+
Given a set of points in two-dimensional space, implement a function that finds the closest pair of points among them, using the divide and conquer approach.
+========+
Please answer to this message with your solution 🙂
SIMPLEX METHOD
+========+
Time: 2 hours - 3 hours
Difficulty: Hard
Languages: Any
+========+
Given a linear programming problem in the standard form, implement the simplex method algorithm to solve it
+========+
Please answer to this message with your solution 🙂
BINARY TREE LEVEL ORDER TRAVERSAL
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given the root of a binary tree, implement a function that performs a level-order traversal of the tree, and returns a list of lists, where each list contains the nodes at that level.
+========+
Please answer to this message with your solution 🙂
PALINDROME PARTITIONING
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given a string, implement a function that finds all possible partitions of the string such that each partition is a palindrome, using dynamic programming approach
+========+
Please answer to this message with your solution 🙂
TOPOLOGICAL SORT
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given a directed acyclic graph represented by an adjacency list, implement a function that performs a topological sort of the graph and returns a list of the visited nodes
+========+
Please answer to this message with your solution 🙂
BINARY TREE SERIALIZATION
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given the root of a binary tree, implement a function that serializes the tree to a string and a function that deserializes the string back to the original tree.
+========+
Please answer to this message with your solution 🙂
SHORTEST PATH BETWEEN TWO NODES
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given a graph represented by an adjacency matrix, implement a function that finds the shortest path between two given nodes using Dijkstra's algorithm.
+========+
Please answer to this message with your solution 🙂
HEAP SORT
+========+
Time: 30 minutes - 1 hour
Difficulty: Easy
Languages: Any
+========+
Given a list of integers, implement a function that sorts the list using the heap sort algorithm.
+========+
Please answer to this message with your solution 🙂
MINIMUM COIN CHANGE
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given a target value and a list of coin values, implement a function that finds the minimum number of coins needed to make the target value, using dynamic programming approach.
+========+
Please answer to this message with your solution 🙂
UNION FIND
+========+
Time: 30 minutes - 1 hour
Difficulty: Easy
Languages: Any
+========+
Given a set of elements, implement a function that performs the union-find algorithm to determine if two elements are in the same set or not.
+========+
Please answer to this message with your solution 🙂
Coding advice
+==========+
When you google "coding advice", you always get the same answers - they are very boring.
Join /channel/codingadvice for more unusual and even controversial advice! And also for a fun time! 😉
KMP
+========+
Time: 1 hour - 2 hours
Difficulty: Hard
Languages: Any
+========+
Given a text string and a pattern string, implement a function that performs the Knuth-Morris-Pratt algorithm to find all occurrences of the pattern in the text.
+========+
Please answer to this message with your solution 🙂
IMAGE THRESHOLDING
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given an image represented by a matrix, implement a function that applies a thresholding effect to the image, converting it to a binary image.
+========+
Please answer to this message with your solution 🙂
HUFFMAN ENCODING
+========+
Time: 1 hour - 2 hours
Difficulty: Hard
Languages: Any
+========+
Given a string of characters, implement a function that performs Huffman encoding on the string, and returns the encoded string and a dictionary of the binary codes for each character.
+========+
Please answer to this message with your solution 🙂
IMAGE BLURRING
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given an image represented by a matrix, implement a function that applies a blurring effect to the image using a convolution matrix.
+========+
Please answer to this message with your solution 🙂
BINARY SEARCH TREE
+========+
Time: 1 hour - 2 hours
Difficulty: Medium
Languages: Any
+========+
Given a list of integers, implement a function that constructs a binary search tree from the list, and a function that performs an in-order traversal of the tree
+========+
Please answer to this message with your solution 🙂
DISJOINT SET
+========+
Time: 30 minutes - 1 hour
Difficulty: Easy
Languages: Any
+========+
Given a collection of items, implement a function that performs the disjoint set data structure to track a set of elements partitioned into a number of disjoint (non-overlapping) subsets
+========+
Please answer to this message with your solution 🙂
GRAPH ISOMORPHISM
+========+
Time: 1 hour - 2 hours
Difficulty: Hard
Languages: Any
+========+
Given two graphs represented by an adjacency matrix, implement a function that checks if the two graphs are isomorphic by using the VF2 algorithm
+========+
Please answer to this message with your solution 🙂
MINIMUM CUT
+========+
Time: 2 hours - 3 hours
Difficulty: Hard
Languages: Any
+========+
Given a graph represented by an adjacency matrix, implement a function that finds the minimum cut of the graph using the Karger's algorithm
+========+
Please answer to this message with your solution 🙂
CONVEX HULL
+========+
Time: 1 hour - 2 hours
Difficulty: Hard
Languages: Any
+========+
Given a set of points in two-dimensional space, implement a function that finds the convex hull of the set using the Jarvis march algorithm.
+========+
Please answer to this message with your solution 🙂
DYNAMIC PROGRAMMING MULTI-OBJECTIVE OPTIMIZATION
+========+
Time: 2 hours - 3 hours
Difficulty: Hard
Languages: Any
+========+
Given a set of items, each with a value and a weight, and a knapsack with a maximum weight capacity and a maximum value capacity, implement a function that finds the maximum value and weight that can be placed in the knapsack using dynamic programming approach.
+========+
Please answer to this message with your solution 🙂
IMAGE MORPHOLOGY
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given an image represented by a matrix, implement a function that applies a morphological operation to the image using a structuring element.
+========+
Please answer to this message with your solution 🙂
RASTERIZATION
+========+
Time: 1 hour - 2 hours
Difficulty: Hard
Languages: Any
+========+
Given the vertices of a polygon and the resolution of a raster image, implement a function that rasterizes the polygon and returns a matrix representing the image.
+========+
Please answer to this message with your solution 🙂
IMAGE EDGE DETECTION
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given an image represented by a matrix, implement a function that applies an edge detection effect to the image using a convolution matrix.
+========+
Please answer to this message with your solution 🙂
LCS
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given two strings, implement a function that finds the length of the longest common subsequence of the two strings, using dynamic programming approach.
+========+
Please answer to this message with your solution 🙂
BFS
+========+
Time: 30 minutes - 1 hour
Difficulty: Easy
Languages: Any
+========+
Given a graph represented by an adjacency list, implement a function that performs a breadth-first search of the graph, and returns a list of the visited nodes.
+========+
Please answer to this message with your solution 🙂
LIS
+========+
Time: 30 minutes - 1 hour
Difficulty: Medium
Languages: Any
+========+
Given a list of integers, implement a function that finds the length of the longest increasing subsequence of the list, using dynamic programming approach.
+========+
Please answer to this message with your solution 🙂
DFS
+========+
Time: 30 minutes - 1 hour
Difficulty: Easy
Languages: Any
+========+
Given a graph represented by an adjacency list, implement a function that performs a depth-first search of the graph, and returns a list of the visited nodes.
+========+
Please answer to this message with your solution 🙂
TSP
+========+
Time: 2 hours - 3 hours
Difficulty: Hard
Languages: Any
+========+
Given a set of cities and the distance between each pair of cities, implement a function that finds the shortest possible route that visits each city exactly once and returns to the starting point, using the brute force approach.
+========+
Please answer to this message with your solution 🙂