Thursday, June 21, 2018

Day five - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


668 40.7%Hard
675 26.9%Hard
679
24 Game    
38.8%Hard
683
K Empty Slots    
33.5%Hard
685 27.6%Hard
689 41.4%Hard
691 35.1%Hard
699 38.1%Hard
711 41.9%Hard
715
Range Module    
30.9%Hard

Day four - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


716
Max Stack    
36.9%Hard
719 27.7%Hard
726 43.4%Hard
727 31.2%Hard
730 35.4%Hard
732 49.6%Hard
736 41.9%Hard
741
Cherry Pickup    
24.1%Hard
745 26.0%Hard
749
Contain Virus    
40.3%Hard

Day three - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.


753 40.8%Hard
757 35.1%Hard
759 53.3%Hard
761 43.5%Hard
765 48.3%Hard
768 43.4%Hard
770 42.5%Hard
772 40.4%Hard
773 46.3%Hard
774 33.0%Hard

Day two - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.

778 44.6%Hard
780 24.0%Hard
782 37.4%Hard
786 32.7%Hard
793 41.8%Hard
798 33.4%Hard
803 22.8%Hard
805 20.4%Hard
810 38.6%Hard
815
Bus Routes    
32.5%Hard

Day one - hard level algorithms

June 25, 2018

It is time for me to read hard level problems 10 algorithms a time. I just could not believe that I will read the problems first, and come back any time if I like to think about more how to solve them.

818
Race Car    
27.2%Hard
827 40.8%Hard
828 33.6%Hard
834 31.5%Hard
839 34.7%Hard
843 33.8%Hard
847 39.6%Hard
850 42.0%Hard
854 29.4%Hard
857 38.4%Hard

A new drill - 10 hard level algorithm on Leetcode every day

June 21, 2018

Introduction


I have to invent some drill to push myself to expose the hard level algorithm on Leetcode.com. One thing I can do is to read 10 hard level algorithm every day, so one week I can finish all hard level algorithms.

I do not need to write code for each hard level algorithm. I just need to read the problem statement, and think about it. That is all.


Goal


My goal is to quickly identify that it is hard level algorithm. When the problem comes out, I can quickly identify it as a familiar problem.

Try to invent something to help myself.


Time to play trick

June 21, 2018

Introduction


As a player to work on data structure and algorithm, I know a lot of issues related to the hard work. I do not get enough social skills when I try to improve coding skills. Sometimes I cannot control my mind very well since I will think about some one unexpected in the past.

A new drill is designed today to train my brain to focus and stay on the ground. One thing I like to do is to memorize all top 50 WTA players, and then choose three of them, do some research how they advance themselves to top 50 ranking.

Here is the ranking web page.

Three players please


I plan to study three players.

Ranking No. 6 Carolina Garcia with her father, coach Louis Paul Garcia


Time to work on github

June 21, 2018

Introduction


It is time for me to be a good and faithful person as a github user, I try to be a writer on github. I can tell a few difference to publish on github compared to publish on blogger.

It is easy to work with other software programmer on projects, source code on github, people are doing that.

When to notice


I notice that cheat sheet is found on github and it is such a nice one. I wrote a blog on data structure cheat sheet on June 14, 2018. I noticed that one of authors is also an engineer from facebook.

How to perform best onsite on algorithm?

June 21, 2018

Introduction


It is true that I have over 300 interviews last 12 months. But in terms of real one, I understand that I only have one this year. How to push myself hard to come out a solution for those 20 minutes?

Think about scalability


It is wise to follow the hackerrank contest format. Set up time limit to 3 seconds, set up upper bound for those given variables, for example, sort a array in two dimension, I can talk about Rows <= 1000, Cols <= 1000, or given 1000,000 instead of 1000. And then I like to target the time complexity based on Rows * Cols, linear or power of 2, preprocessing time for those number, what is space minimum I need. Calculate one in terms of MB. Usually hackerrank space is limited to 300MB.

Try to guess what is limit? Ask and then figure out possible upper bound of time complexity.

I think that will be good start for an onsite and real top one software company.

I stopped playing hackerrank since November 2017. I totally forget those painful and long hours I have worked to try to gain extra few points to scale the problem. I will give one example here later on.

Get organized


Last few days I tried to get organized and checked in past contests into github, I like to review C# code I write before. And then I notice something missing in my daily practice last 8 months. I focus on soft skills, but I lose the desire to scale the algorithm problem.


Follow up 


March 28, 2019

I like to try the idea to work on algorithm problem solving 90 minutes every day. And I like to see how many problems I can solve in one week.

Another thing is to solve all 24 union join algorithm on Leetcode.com first. I need to push myself to learn and work on algorithm daily.

Another thing I can try to do is to get involved in video creating for the algorithm.

Another thing I can try to push myself is to complete another 100 algorithms before June 6, 2019. I like to celebrate one year Amazon onsite with Leetcode solved problems 470 or 500. I think that hard working is most important part of my life.


Hackerrank - practice - problem solving - hard - algorithms

June 21, 2018

Introduction


It is time for me to get organized. I like to check in all my practice on hackerrank.com into github. I did solve 3 hard level algorithms.

Hard level

Matrix layer rotation
Reverse shuffle merge

Medium level


Sherlock and anagrams
Connected Cells in a Grid
Even Tree

Easy level 

Intro to Tutorial Challenges
Pangrams
Funny String
Gemstones
Alternating Characters
The Love-letter mystery
Palindrome index
Anagram
Making angrams
Game of thrones - 1
Two strings
Sherlock and array


It is also a good idea to review the code I wrote 2 years ago. It is so exciting to read the code I wrote two years ago. 

Will come back to write more here. 


Tangible goals

June 21, 2018

Introduction


It is time for me to set up some tangible goals. I like to learn something and also prepare for more challenging things.

Tangible goals


1. Solve a few algorithm and gain 200 points on hackerrank to get a gold badge. I need to get 800 points.

2. Play a contest on hackerrank and try to get a medal.

3. Play some sports and lose 4 lbs in next 30 days.

4. ...

Wednesday, June 20, 2018

Informatics olympiad

June 20, 2018

Introduction


It is a normal day until I come cross the algorithm I worked on before. I was amazed about editorial note, and writer's profile. So I decided to do a small study on the player. The first time I learn how good a informatics olympiad player can be.

Here is the article about hackerrank profile I study today.

My argument


It took me more than 12 months to get my first Gold medal on week of code 33. And then I had hard time to get medal again. It takes me so many hours to work on those algorithms for week of code.

I just could not believe that the algorithm problem solving can be so easy for the informatics olympiad player.