1. Write a program to implement a simple binary search algorithm.
2. Write a program to check if two strings are anagrams of each other using character counts.
3. Write a program to find the longest substring without repeating characters.
4. Write a program to implement the bubble sort algorithm.
5. Write a program to calculate the nth Fibonacci number using memoization.
6. Write a program to implement a queue using two stacks.
7. Write a program to find all the pairs of integers in a list that sum up to a specific target.
8. Write a program to flatten a nested dictionary.
9. Write a program to find the intersection of two arrays.
10. Write a program to implement a stack data structure with push, pop, and min functions.
11. Write a program to check if a binary tree is balanced.
12. Write a program to serialize and deserialize a binary tree.
13. Write a program to find the shortest path in a maze represented by a 2D list.
14. Write a program to find the maximum subarray sum using Kadane's algorithm.
15. Write a program to implement a basic text editor with undo and redo functionality.
16. Write a program to find all unique triplets in an array that sum to zero.
17. Write a program to check if a linked list is a palindrome.
18. Write a program to find the median of two sorted arrays.
19. Write a program to implement a simple hash table with collision handling.
20. Write a program to rotate a matrix by 90 degrees.
21. Write a program to find all combinations of a string with duplicates.
22. Write a program to calculate the longest common subsequence between two strings.
23. Write a program to find the kth largest element in an unsorted list.
24. Write a program to implement depth-first search (DFS) for a graph.
25. Write a program to generate all valid parentheses combinations for n pairs.
26. Write a program to find the first missing positive integer in an unsorted list.
27. Write a program to check if a given sudoku is valid.
28. Write a program to implement Dijkstra's algorithm to find the shortest path in a graph.
29. Write a program to find the longest increasing subsequence in an array.
30. Write a program to find all permutations of a list.
31. Write a program to find the longest consecutive sequence in an unsorted array.
32. Write a program to implement the quicksort algorithm.
33. Write a program to calculate the power of a number using recursion.
34. Write a program to check if a string has all unique characters without using additional data structures.
35. Write a program to convert a Roman numeral to an integer.
36. Write a program to merge two sorted linked lists into one sorted list.
37. Write a program to find the number of islands in a 2D grid.
38. Write a program to implement a simple LRU (Least Recently Used) cache.
39. Write a program to find the shortest palindrome by adding characters at the beginning of a string.
40. Write a program to check if two binary trees are identical.