LucidProgramming is my YouTube channel and this repo consists of a collection of scripts corresponding to YouTube tutorials for my YouTube channel.
I would love to compile solutions to all of the problems here, as well as offer solutions in different languages. Just create a pull request with your changes.
- Optimal Task Assingment
Determine the optimal way to assign two tasks to minimize total time.
-
Count Consonants
Count the number of consonants present in a string. -
Find Uppercase
Given a string, find the first uppercase character. -
Product Two Numbers
Recursively calculate the product of two numbers. -
String Length
Recursively calculate the length of a given string.
- Binary Search
Iterative and recursive implementation and comparison of binary search.
-
Intersect Sorted Array
Calculate the intersection (common elements) between two sorted arrays. -
Remove First Name Duplicates
Given a list of first/last name pairs, eliminate any entries with duplicate first names.
-
Is Anagram
Given a string, determine if it is an anagram, i.e. a word or phrase formed by rearranging the letters of a different word or phrase. -
Is Palindrome
Given a string, determine if it is a palindrome, i.e. a word or phrase that can be read the same forwards and backwards. -
Look-and-Say Sequence Generate the so-called "Look-and-Say" sequence
-
Spreadsheet Decode
Given a list of first/last name pairs, eliminate any entries with duplicate first names. -
Spreadsheet Encode
Given a column string as formatted in a spreadsheet program, write a function that returns a number corresponding to that particular column.
-
Find Set Bit
Given a number having only one "1" and all other "0"s in its binary representation, find position of set bit. -
Is Power Two
Given a positive integer, check if the integer is a power of 2.
-
Arbitrary Precision Arithmetic
Given two arrays that each represent an integer, compute the sum between these numbers. -
Array Advance
Given an array with integers that correspond to moves that can be made from left to right, determine if it is possible to advance to the end of the array. -
Buy and Sell Stock Once
Given a list of end-day stock prices, determine what the maximum profit one can make by buying and selling a single stock. -
Two Sum
Given an array of integers, return the two numbers such that they add up to a specific target.
- Bloom Filters and Pokemon An introduction to Bloom filters using Pokemon to explain key concepts.
-
Count Occurrences Given a data element, determine how many nodes in a singly linked list contain this piece of data.
-
Deletion Given a data element, delete all nodes in a singly linked list that have this given data element.
-
Insertion Insert an element into a singly linked list.
-
Is Palindrome Given a singly linked list, determine if the data elements form a palindrome.
-
Length Given a singly linked list, calculate the length, i.e. the number of nodes in the linked list.
-
Merge Sorted Given two sorted singly linked lists, produce a merged singly linked list that is also sorted.
-
Nth-to-Last Given a singly linked list and an integer N, determine the Nth-to-last node in the list.
-
Remove Duplicates Given a singly linked list, remove all nodes with duplicate data elements.
-
Reverse Given a singly linked list, reverse the linked list.
-
Rotate Given a singly linked list and an integer, rotate the contents of the singly linked list.
-
Sum Two Lists Given two singly linked lists representing integers, produce a third singly linked list that represents the sum of these integers.
-
Swap Nodes Given a singly linked list and two nodes, swap the first node with the second.
-
Tail to Head Given a singly linked list swap the tail of the list with the head.
-
Insert Insert a node into a circular linked list.
-
Is Circular Linked List Given a linked list, determine if it is a circular linked list.
-
Josephus Problem Solve the so-called Josephus Problem using a circular linked list.
-
Remove Node Remove node from a circular linked list.
-
Split List Given a circular linked list an an integer, split the circular linked list.
-
Add Before/Add After Add a node in a doubly linked list before a given node. Add a node in a doubly linked list after a given node.
-
Append/Prepend Append (add to back) a node to a doubly linked list. Prepend (add to front) a node to a doubly linked list.
-
Delete Delete a node in a doubly linked list.
-
Insert Insert a node in a doubly linked list.
-
Pairs with Sum Obtain the pairs of nodes that sum up to a given target element.
-
Remove Duplicates Remove duplicates from a doubly linked list.
-
Reverse Reverse a doubly linked list.
-
Stack Implementation Impelementation and description of the stack data structure.
-
Balanced Parens Using the stack data structure, determine if a string of parentheses are properly balanced or not.
-
Divide by Two Perform division by two using the stack data structure.
-
Reverse String Reverse a string using the stack data structure.
-
Python and the imgur API: Setup and Installation (Part 1/3) Setup for imgur API to access via Python module.
-
Python and the imgur API: Authentication (Part 2/3) Authenticating our imgur application.
-
Python and the imgur API: Image Upload (Part 3/3) Uploading an image to an imgur gallery using the Python imgur module.
-
Natural Language Processing in Python: Part 1 -- Installation and Getting Started Accomodating blog post for this video can be found here.
-
Natural Language Processing in Python: Part 2 -- Accessing Text Resources Accomodating blog post for this video can be found here.
-
Natural Language Processing in Python: Part 3 -- Generating Word Clouds Accomodating blog post for this video can be found here.
-
Natural Language Processing in Python: Part 4 -- WordNet Accomodating blog post for this video can be found here.
-
Natural Language Processing in Python: Part 5 -- Stemming and Lemmatization Accomodating blog post for this video can be found here.
-
Using Robobrowser to Login and Extract Data We use the Robobrowser module to login to a website automatically and extract information once logged in.
-
Gift Card Scraper with Python and Robobrowser We use the Robobrowser module to extract balance information for a given giftcard.
- Scrapy: Setup and First Project We install the scrapy module and setup an small project.