LeetCode Problem Of The Day

Over the past couple of years I have adopted a habit of completing the LeetCode “Problem of the Day” each morning, often as the first thing I do when I wake, or at least before I start work. I love this and it has made me much faster and more confident about the type of algorithms and data structures questions that frequent software engineering interviews.

Technically, LeetCode calls these “[Month] LeetCoding Challenge [Year]” as the screenshot I captured shows. The idea is to solve each problem on the calendar day that LeetCode posts it, and build a streak of consecutive days that I’ve solved the daily problem.

LeetCode being a business, they also sell “time travel certificates” that allow me “travel back in time” to solve a past day’s problem and keep a streak alive. They also provide one extra weekly problem to paid subscribers. I believe you can’t technically complete the monthly streak unless you become a paid subscriber and solve those.

I don’t worry about the streak mechanic, although I certainly don’t begrudge LeetCode the attempt to generate some cashflow from the service they provide. Sometimes I miss days, either because of travel or family or because the problem is legitimately too hard for me to solve. I just pick up the next day.

One of my favorite aspects is reviewing the official Solution explanation, or the user-generate discussion thread, after I’ve solved a problem myself. I gain a lot from reviewing other users’ code and comparing their solutions to mine, especially when my solution works but is slow. LeetCode times submissions and shows the result, unless the code is so inefficient that it triggers a “Time Limit Exceeded” error.

The rhythm of solving one data structures and algorithms problem every morning is a terrific routine for programming practice. There’s obviously a lot more to software engineering than compact, competitive programming-style and interview-style challenges. But I always feel like a musician practicing scales or a basketball player practicing free-throws – hardly the entire repertoire of the craft, but nonetheless a valuable way to practice by myself and develop skills that translate to other parts of the domain.

Udacity’s Intro to Self-Driving Cars Nanodegree Program

Experience a free preview of our program today, and discover how YOU can enter the amazing world of self-driving cars!

Sebastian Thrun, Udacity founder, and the “Godfather” of Self-Driving Cars

Udacity’s Intro to Self-Driving Cars Nanodegree Program is for anyone in the world who ever dreamed of working on self-driving cars, but thought they never could.

This program covers the prerequisite skills necessary to advance to our career-ready Self-Driving Car Engineer Nanodegree Program, including:

  • Intermediate programming ability in C++ or Python (the languages of the autonomous vehicle industry)
  • Basic linear algebra
  • Basic calculus
  • Basic statistics
  • Basic physics

As a student in the Intro to Self-Driving Cars Nanodegree program, you’ll build your skills up over the course of a four-month curriculum path that tackles each of these areas at a pace that is both manageable and rewarding. Best of all, you’ll practice putting these skills to work on the types of projects that real self-driving car engineers work on every day.

If you love self-driving cars, but thought you’d never get the chance to work on them, then this is the program for you.

Check out a free preview of the program right now!

Which Udacity Nanodegree Program Is Right For You?

Are you trying to decide which Udacity Nanodegree Program you should enroll in? Here’s an all-in-one guide to help you determine which program is best for you.


Android Basics

Partner: Google
Lead Instructors: Katherine Kuan, Chris Lei
Difficulty: Beginner
Time: 6 months
Syllabus: User Interface + User Input + Multiscreen Apps + Networking + Data Storage
Prerequisites: None!
Cost: $199 / month
Best For: Aspiring Android Developers with no programming experience.


Android Developer

Partner: Google
Lead Instructor: James Williams, Reto Meier
Difficulty: Intermediate
Time: 8 months
Syllabus: Developing Android Apps + Advanced Android App Development + Gradle for Android and Java + Material Design for Android Developers + Capstone Project
Prerequisites: Java, git, GitHub
Cost: $999 upfront OR $199/month
Best For: Intermediate programmers who want to become Android specialists.


Artificial Intelligence

Partners: IBM Watson, Amazon Alexa, DiDi Chuxing, Affectiva
Lead Instructor: Sebastian Thrun, Peter Norvig
Difficulty: Advanced
Time: 6 months
Syllabus: Foundations of AI + Deep Learning and Applications + Computer Vision + Natural Language Processing + Voice User Interfaces
Prerequisites: Python, basic linear algebra, calculus, and probability
Cost: $1600
Best For: Engineers who want to apply AI tools across an array of domains, from computer vision to natural language processing to voice interfaces.


Become an iOS Developer

Partners: AT&T, Lyft, Google
Difficulty: Intermediate
Time: 6 months
Syllabus: UIKit Fundamentals + iOS Networking with Swift + iOS Persistence and Core Data + How to Make an iOS App
Prerequisites: macOS 10.12 or OS X 10.11.5
Cost: $199 / month
Best For:
Beginners who want to launch their iOS developer careers.


Business Analyst

Partners: Alteryx, Tableau
Lead Instructor: Patrick Nussbaumer
Difficulty: Intermediate
Time: 160 hours
Syllabus: Problem Solving with Advanced Analytics + Creating an Analytical Dataset + Segmentation and Clustering + Data Visualization in Tableau + Classification Models + A/B Testing for Business Analysts + Time Series Forecasting
Prerequisites: Basic statistics and spreadsheet skills, a Windows computer
Cost: $199 / month
Best For:
Aspiring data analysts who want to launch a career in data-driven decision-making and visualization, as opposed to programming.


Data Analyst

Partners: Facebook, Tableau
Lead Instructor: Caroline Buckey
Difficulty: Intermediate
Time: 260 hours
Syllabus: Descriptive Statistics + Intro to Data Analysis + Git and GitHub + Data Wrangling + MongoDB + Exploratory Data Analysis + Inferential Statistics + Intro to Machine Learning + Data Visualization in Tableau + Introduction to Python Programming
Prerequisites: None!
Cost: $199 / month
Best For:
Aspiring data scientists who want to launch a career in developing software to extract meaning from data.


Deep Learning Foundations

https://vimeo.com/199252593

Lead Instructors: Ian Goodfellow, Andrew Trask, Mat Leonard
Difficulty: Intermediate
Time: 6 months
Syllabus: Introduction + Neural Networks + Convolutional Neural Networks + Recurrent Neural Networks + Generative Adversarial Networks
Prerequisites: Python, basic linear algebra and calculus
Best For:
Students excited by the potential for deep learning to change the world, and who additionally wish to earn guaranteed entry into Udacity’s Artificial Intelligence, Robotics, or Self-Driving Car Engineer Nanodegree Programs (a special “perk” of the program for graduates!).


Digital Marketing

Partners: Facebook, Google, Hootsuite, HubSpot, MailChimp, Moz
Lead Instructor: Anke Audenaert
Time: 3 months
Syllabus: Marketing Fundamentals + Content Strategy + Social Media Marketing + Social Media Advertising through Facebook + Search Engine Optimization (SEO) + Search Engine Marketing with AdWords + Display Advertising + Email Marketing + Measure and Optimize with Google Analytics
Prerequisites: None!
Best For:
Hard workers seeking to launch or advance their digital marketing careers through real-world experience and multi-platform fluency.


Front-End Web Developer

Partners: AT&T, Google, GitHub, HackReactor
Lead Instructors: Mike Wales, Cameron Pittman
Difficulty: Intermediate
Time: 6 months
Syllabus: Intro to HTML and CSS + Responsive Web Design Fundamentals + Responsive Images + JavaScript Basics + Intro to jQuery + Object-Oriented JavaScript + HTML5 Canvas + Browser Rendering Optimization + Website Performance Optimization + Intro to AJAX + JavaScript Design Patterns + JavaScript Testing
Prerequisites: Basic computer programming
Cost: $199 / month
Best For:
New web developers who want to build a portfolio and get a job!


Full Stack Web Developer

Partners: Amazon Web Services, GitHub, AT&T, Google
Lead Instructors: Mike Wales, Karl Krueger
Difficulty: Intermediate
Time: 6 months
Syllabus: Programming Foundations with Python + Responsive Web Design Fundamentals + Intro to HTML and CSS + Responsive Images + Intro to Relational Databases + Authentication & Authorization: OAuth + Full Stack Foundations + Intro to AJAX + JavaScript Design Patterns + Configuring Linux Web Servers + Linux Command Line Basics
Prerequisites: Python and git
Cost: $199 / month
Best For:
Developers who want to learn to build web applications from end-to-end.


Intro to Programming

Lead Instructor: Andy Brown
Difficulty:
Beginner
Time: 5 months
Syllabus: Learn to Code + Make a Stylish Webpage + Python Programming Foundations + Object-Oriented Programming with Python + Explore Programming Career Options + Experience a Career Path
Prerequisites: None!
Cost: $399
Best For:
Beginners looking for an accessible approach to coding.


Machine Learning Engineer

Partner: Kaggle
Lead Instructors:
Apran Chakraborty, David Joyner, Luis Serrano
Difficulty:
Advanced
Time: 6 months
Syllabus: Machine Learning Foundations + Supervised Learning + Unsupervised Learning + Reinforcement Learning + Deep Learning + Capstone
Prerequisites: Intermediate Python, statistics, calculus, and linear algebra
Cost: $199 / month
Best For:
Engineers who want to build applications that learn from data.


React

Lead Instructors: Michael Jackson, Ryan Florence, Tyler McGinnis
Difficulty:
Intermediate
Time: 4 months
Syllabus: React Fundamentals + React & Redux + React Native
Prerequisites: HTML, JavaScript, Git
Cost: $499
Best For:
Front-end engineers who want to master the web’s hottest framework. React is the highest-paid sub-field of web development!


Robotics

Partners: Bosch, Electric Movement, iRobot, Kuka, Lockheed Martin, MegaBots, Uber ATG, X
Lead Instructor:
Ryan Keenan
Difficulty:
Advanced
Time: 6 months
Syllabus: ROS Essentials, Kinematics, Perception, Controls, Deep Learning for Robotics
Prerequisites: Intermediate Python, calculus, linear algebra, and statistics
Cost: $2400
Best For:
Makers who dream of building machines that impact everything from agriculture to manufacturing to security to healthcare.


Self-Driving Car Engineer

Partners: Mercedes-Benz, NVIDIA, Uber ATG
Lead Instructor:
David Silver (that’s me!)
Difficulty:
Advanced
Time: 9 months
Syllabus: Deep Learning + Computer Vision + Sensor Fusion + Localization + Path Planning + Control + System Integration
Prerequisites: Intermediate Python, calculus, linear algebra, and statistics
Cost: $2400
Best For:
Engineers who want to join technology’s hottest field and revolutionize how we live.


VR Developer

Partners: Google VR, Vive, Upload, Unity, Samsung
Lead Instructor:
Christian Plagemann
Difficulty:
Advanced
Time: 6 months
Syllabus: Unity + C# + Google Cardboard + Ergonomics + User Testing + Interface Design + Mobile Performance + High-Immersion Unity + High-Immersion Unreal
Prerequisites: None!
Cost: $1200
Best For:
People who want to build new worlds. VR is the most in-demand skill for freelance developers!