holbertonschool-interview

This repository contains a collection of projects developed as part of the interview preparation curriculum at Holberton School. Each project focuses on different algorithmic concepts and problem-solving techniques, helping students enhance their skills and prepare for technical interviews.

Projects

0x00-lockboxes

This project explores the concept of searching and manipulating lists in Python. You will implement a function to determine if all the boxes in a list can be unlocked by finding the correct keys.

0x01-insert_in_sorted_linked_list

The 0x01-insert_in_sorted_linked_list project focuses on manipulating linked lists in C. You will implement a function to insert a node into a sorted singly linked list while maintaining the sorted order.

0x02-heap_insert

In this project, you will work with heaps and binary trees in C. You will implement a function to insert a value into a binary max heap and maintain the heap property.

0x03-minimum_operations

The 0x03-minimum_operations project explores problem-solving and algorithmic thinking in Python. You will solve a puzzle using a specific set of operations and determine the minimum number of operations required to reach a target.

0x04-sandpiles

In this project, you will work with 2D arrays in C and implement a function to perform the "sandpile" operation, which involves toppling grains of sand and redistributing them in a grid.

0x05-linked_list_palindrome

The 0x05-linked_list_palindrome project focuses on linked list manipulation in Python. You will implement a function to determine if a linked list is a palindrome.

0x06-log_parsing

In this project, you will work with file I/O in Python and process log files. You will implement a script to parse and aggregate data from log files.

0x07-linked_list_cycle

The 0x07-linked_list_cycle project explores the concept of cycle detection in linked lists. You will implement a function to determine if a linked list contains a cycle.

0x08-palindrome_integer

In this project, you will work with integer manipulation in C. You will implement a function to check if an integer is a palindrome.

0x09-utf8_validation

The 0x09-utf8_validation project focuses on bit manipulation and validation in C. You will implement a function to check if a given array of data represents a valid UTF-8 encoding.

0x0A-slide_line

In this project, you will work with arrays and sliding operations in C. You will implement a function to slide and merge an array of integers according to a specific set of rules.

0x0B-menger

The 0x0B-menger project explores recursive patterns and fractals in Python. You will implement a function to draw a 2D Menger sponge fractal.

0x0C-nqueens

In this project, you will work with backtracking and the N-queens problem in Python. You will implement a solution to place N queens on an N×N chessboard without any two queens threatening each other.

0x0D-sorted_array_to_avl

The 0x0D-sorted_array_to_avl project focuses on binary search trees and AVL trees in C. You will implement a function to build an AVL tree from a sorted array of integers.

0x0E-linear_skip

In this project, you will work with linked lists and skip lists in C. You will implement a function to search for a value in a sorted skip list of integers.

0x0F-starwars_api

The 0x0F-starwars_api project explores the concept of pagination in API development. You will implement a script to make HTTP requests to the Star Wars API and return a list of all the characters from all the Star Wars movies.

0x1A-double_circular_linked_list

In this project, you will work with circular doubly linked lists in C. You will implement a function to insert a node into a sorted circular doubly linked list.

0x1B-radix_sort

The 0x1B-radix_sort project focuses on sorting algorithms and Big O notation. You will implement a function to sort an array of integers in ascending order using the radix sort algorithm.

0x1C-island_perimeter

In this project, you will work with 2D arrays in Python. You will implement a function to compute the perimeter of an island in a grid.

0x1D-avl_trees

The 0x0D-avl_trees project focuses on binary search trees and AVL trees in C. You will implement functions to check if a binary tree is a valid AVL tree and to insert a value into an AVL tree.

0x1E-wild_cmp

In this project, you will work with string manipulation and pattern matching in C. You will implement a function to compare two strings and determine if they can be considered identical, where one string may contain special wildcard characters.

0x1F-pascal_triangle

The 0x0F-pascal_triangle project explores the concept of Pascal's triangle in Python. You will implement a function to return a list of lists of integers representing Pascal's triangle of a given size.

0x10-rain

In this project, you will work with arrays and histograms in C. You will implement a function to calculate how much water will be retained after it rains.

0x11-heap_sort

The 0x11-heap_sort project focuses on sorting algorithms and Big O notation. You will implement a function to sort an array of integers in ascending order using the heap sort algorithm.

0x12-advanced_binary_search

In this project, you will work with binary search in C. You will implement a function to search for a value in a sorted array of integers using the binary search algorithm.

0x13-count_it

The 0x13-count_it project explores the concept of pagination in API development. You will implement a script to make HTTP requests to the Reddit API and return a count of all the keywords in the titles of a given subreddit.

0x14-heap_extract

In this project, you will work with heaps and binary trees in C. You will implement a function to extract the root value from a binary max heap and maintain the heap property.

0x15-infinite_multiplication

The 0x15-infinite_multiplication project focuses on integer multiplication in C. You will implement a program to multiply two positive integers of arbitrary size and print the result.

0x16-rotate_2d_matrix

In this project, you will work with 2D arrays in Python. You will implement a function to rotate a 2D matrix 90 degrees clockwise.

0x17-find_the_loop

The 0x17-find_the_loop project explores the concept of cycle detection in linked lists. You will implement a function to find the first node of a loop in a linked list.

0x18-merge_sort

In this project you will work with sorting algorithms and Big O notation. You will implement a function to sort an array of integers in ascending order using the merge sort algorithm.

0x19-making_change

The 0x19-making_change project focuses on dynamic programming and algorithmic thinking in Python. You will implement a function to make change for a given amount of money using the fewest number of coins.

0x21-substring

In this project, you will work with string manipulation and pattern matching in Python. You will implement a function to find all the possible substrings containing a list of given words within a given string.

0x22-prime_game

The 0x22-prime_game project explores the concept of prime numbers in Python. You will implement a function to determine the winner of a prime number game.