/youtube_tutorials

Collection of scripts corresponding to YouTube tutorials

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

LucidProgramming YouTube Tutorial Scripts:

LucidProgramming is my YouTube channel and this repo consists of a collection of scripts corresponding to YouTube tutorials for my YouTube channel.

Contributing

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.

Index

Algorithms

Greedy Algorithms

Recursion

Search Algorithms

  • Binary Search
    Iterative and recursive implementation and comparison of binary search.

Sorting Algorithms

String Processing

  • 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.

Bit Manipulation

  • 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.

Data Structures

Arrays

  • 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 Filter

Linked List

Singly Linked List
  • 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.

Circular Linked List
Doubly 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

  • 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.

Go

imgur Python

Natural Language Processing

Technical Interview

Twitter Python

Utility Scripts

Vim

Web Scraping and Automation

PyAutoGui

Robobrowser

Scrapy

Selenium