Thursday, September 20, 2018

Count and say

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case 
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

Number of segments in a string

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case 
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

String compression

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case 
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

Valid palindrome II

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case 
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

longest common prefix

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case 
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

Repeated string match

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

859. Buddy strings

Sept. 20, 2018

Introduction

I am so excited to work on easy level tree algorithms. I like to write down my experience.

My practice


Here is my link on Leetcode.com.






Wednesday, September 19, 2018

Leetcode 224. Basic calculator

Sept. 19, 2018

Introduction


It is a medium level algorithm and stack is used to solve the problem. I plan to work on it very soon.


Tuesday, September 18, 2018

100 easy level algorithms

Sept. 18, 2018

Introduction


It is 11:39 PM. I like to choose a small research topic to write a blog. I like to look into how many things I should work on in order to improve the efficiency to solve algorithms problems.

Let me get some data, and then plan to look into them. I need to learn how to analyze my submissions as well.

100 easy level algorithms


I finished over 100 each easy level algorithm from July 10 to Sept. 18, 2018. I completed 20 easy level tree algorithms from Sept. 18 to Sept. 21, 2018.

Have confidence


It is important for me to learn how to solve more Leetcode.com algorithms. To start easy level algorithms, I can build some confidence.

Here is one of sharing written in Chinese.

简单题。 对于新手来说,简单题是最容易上手且最容易做出来提升自信的题目。




Five year career path study

Sept. 18, 2018

Introduction


It is so surprising that I saw Linkedin notification. And one of 1st link joined Google recently, the career path is this way, Vancouver SFU -> SAP -> Amazon -> Sales Force, and then USA Google. It takes around six years from 2012 to 2018.

It is 11:27 PM. I have 10 minutes to write a topic called how to define a career path. What is most common way to find your next career?

Be realistic 


It is unbelievable journey for me to study.



A day with five easy level math algorithms (V)

Sept. 18, 2018


Introduction


It is hard for me to understand the problem 868 binary gap. It took me more than 10 minutes and then I understood "distance between two consecutive 1's".

My practice


Here is my discussion link.

I also read one of discuss and then was surprise how elegant solution it is. The link is here.

A day with five easy level math algorithms (IV)

258. Add Digits

A day with five easy level math algorithms (III)

171. Excel Sheet Column Number

A day with five easy level math algorithms (II)

Sept. 18, 2018

Introduction


It is the first time I tried to push myself to finish five easy level algorithms. And also I tried to follow my stress level through the problem solving. The second algorithm is 13. Roman to Integer.

My practice


Here is my discussion link.


A day with five easy level math algorithms (I)

Sept. 18, 2018

Introduction


I like to write a blog to document my day with five easy level algorithms. If I can finish every algorithm in less than 15 minutes, then I only need less than 90 minutes.

It is just one and half hour. And I will be free to do anything else for the day.

True story


The first algorithm 453. Minimum Moves to Equal Array Elements, I misunderstood the problem statement, after I submitted the code, I noticed that n - 1 element should be selected every time, not 2 elements.

And I continued to work on the algorithm, I think that it is too much work to increase one for n - 1 elements, because it can not be determined easily. So I considered the case to change one element to  decrease one instead.

Those two instances takes me extra time. I stopped to work on the easy level algorithm, and started again next morning.

Here is my discussion link on Leetcode.com.

Actionable Items


I need to work on algorithm problem solving every day, so I can improve my reading skills.


Coursera courses

Sept. 18, 2018

Introduction


It is a busy year, I started to subscribe Frontendmasters.com and also pluralsight.com starting from January, and then I stopped both of them in July. I found out that I do not have time to learn something from those courses.

Today I spent over 30 minutes to study subscription on Coursera.com.


Ideas to evaluate


Subscribe monthly subscription for algorithm speciality, and then get some learning over there.

Audit is free. So I should spent time to watch those videos and learn algorithm better.


Monday, September 17, 2018

Leetcode contest leader board top 250

Sept. 17, 2018

Introduction


It is my 30 minutes study of Leetcode contest leader board top 150. I did have some experience on Hackerrank contest leader board. The link is here, global ranking.

My understanding


My job is to get some common sense about the talent and how strong they are, what jobs they have, age and experience. The numbers I look into are submission last year, total submission, and education etc.

I think that it is so important for me to understand how good they are. Compared to those players, I have a lot of work to do to catch up.

I read one of players's github in top 250, he finished over 500 algorithm in 45 days. I just could not believe that.

5 easy level binary search algorithm

Sept. 17, 2018

Introduction


It is time for me to plan to work on 5 easy level binary search algorithms. Here is the link.


17 easy level hashtable algorithms

Sept. 17, 2018

Introduction


It is time for me to plan to work on 17 easy level hashtable algorithms. Here is the link, and sort by difficulty.


19 easy level string algorithm on Leetcode.com

Sept. 17, 2018

Introduction


It is time to start to work on string algorithms easy level.

Follow up 

9/21/2018

String easy level algorithms (shared 9) 
14. Longest Common Prefix
38. Count and Say
345. Reverse Vowels of a String
434. Number of Segments in a String
443. String Compression use count variable to avoid backward lookup
443. String Compression My idea -look ahead and backward
443. String Compression Elegant solution to learn
459. Repeated Substring Pattern
680. Valid Palindrome II Optimal solution
680. Valid Palindrome II 418/460 test cases passed Time limit exceeded
686. Repeated String Match memory limit exceeded for last test case
686. Repeated String Match memory limit exceeded for last test case
859. Buddy Strings

Say goodbye to easy math level algorithms

Sept. 17, 2018

Introduction


It is time for me to say goodbye to easy level math algorithms. I just finished around 20 easy level math algorithms on Leetcode.com.

It is very exciting practice. I did learn so many algorithms and I do believe that I spent time wisely and learned things quickly from my own practice and Leetcode discuss.


Sunday, September 16, 2018

like a startup

Sept. 16, 2018

Introduction


It is time for me to celebrate more than eight years in Canada. I do know that the city of Vancouver is second largest city in Canada. I do like so many things here.

What I try to say is that I learn to use the phrase "like a startup" today, I like to start to apply it in my thinking process.

It is an so interesting topic, I like to spend some time to read statistics about startup.

What is most challenging question?


How many years can a startup company survive? Here is one of articles I like to read.


How to apply to myself? 


If I were a Google program manager

Sept. 16, 2018

Introduction


It is so interesting to write a blog using this topic. One of my friends in wechat joined Google recently, I did think about several times about their career paths. What is the story behind that change? Education, job experience, and all other things.

FAU4Fun group


We used to have a FAU4Fun group starting from 2000 to 2001 back in Florida. We had a few get-together events in 2001 and we used yahoogroups.com to get connected, and we met several times to play tennis or swimming or got together in restaurant etc. Now most of them are working in Silicon Valley.

Most hard thing to manage is the career.

I have to learn from their experience, I need to work hard.

Kelley school of business


I need to look up the business school this weekend. Here is the link. I learn one business school from those friends.

If I were a Google program manager


I need to write down something here. I will come back later, still think hard!

Leetcode 598. Range Addition II

Sept. 16, 2018

Introduction


It is so interesting to work on the algorithm. I made a few mistakes in my first submission. I understand that it is so important for me to practice easy level algorithm first again.

It is such great workout to work on this easy level algorithm.

My practice


Here is my link on Leetcode discuss.


Prepare a check list

Sept. 16, 2018

Introduction


It is Sunday afternoon, now it is 7:18 PM. I need to rush and get some topics into my research buckets. One of topic is about long commute to work in the Vancouver area.

A long list of research topics


Here are a long list of topics I am working on.

1. Find some marketing ideas to promote my home in Florida.
2. Find some good saving rate in Canada bank, look into RBC online saving account.
3. Find some information about New York community bank saving rate and IRA rate.
4. Get some ideas how to work on easy level math algorithms
5. Do more research on Leetcode weekly contest and think about how to improve performance
6. ...

Learn more about the UBC master of engineering leadership

Sept. 16, 2018

Introduction


It comes to my mind to look into SFU and UBC graduate programs recently. Last month my sister and I visited UBC campus, and I saw the UBC business building and business school called Sauder school of Business. And also I got a message related to the program from linkedin.com.

The program


Here is one of programs I came cross called Master of engineering leadership.

Dependable software systems - the link is here.

The program director page is here. The linkedin profile is here.

The program director Tamara Etmannski's page is here. 11 minutes video is here.

The specialist's linkedin page is here.

30 minutes session - Master of engineering leadership: information session (2015 10 28).

The program is running like a startup. MEL - L stands for? leadership?

30 minutes webinar session, here is the link.

Invent and simplify 


It is better for me to demonstrate good learning and practice through my own way. The master program costs above $25,000 Canadian dollars.

City of Boca Raton and Florida Atlantic university

Sept. 16, 2018

Introduction


It is the stressful week after one year break as a landlord. I need to do some marketing study for my home near Florida Atlantic university campus. One of my renters will move out at the end of Sept. 2018.

I need to figure out ways to reach potential math Ph.D. students or other graduate student or undergraduate students.

Slowly and I will find the way


Here are the places I post my ads.

Facebook international student office - FAU, here is the post.

I also had chance to chat a few words with my Ph.D. classmate, math Ph.D. graduate. I got some ideas to work on.

Do I need to fly over Florida and have a short visit?


I also talked to my good friend a few months ago and plan to have a short visit to Florida after Oct. 1, 2018. I think that the trip is an excuse, I have to take a few days vacation, rent a car, and visit the community I can reach out near Florida Atlantic University Boca Raton campus. Do I really need to fly over and visit Florida for the business trip?

I need some fresh ideas to help me serve better as a landlord.



Simon Fraser University graduate degree program

Sept. 16, 2018

Introduction


It was Sunday afternoon around 2:00 PM, after the church service, I did quick study and see if I can consider to get some formal education in Canada. I know that I have some difficulty to be competitive as a software programmer. I need to have fresh mind and smart coach all the time.

I spent some time to go over SFU computer science master degree program and other programs.




836. Rectangle Overlap

Sept. 16, 2018

Introduction


It is now 4:26 PM. I worked on the algorithm and here is the discuss link I shared my practice.


One thing is true


I find that I can apply my thought here:

"Find patterns for existing learning" 

Item 5 in brainstorm ideas in my blog called If I can solve 500 algorithms. 

I can apply the technique I learn from the algorithm find intervals. 

After Sunday service in Willingdon church

Sept. 16, 2018

Introduction


I was surprised that I learn a few Amazon leadership principles last three months. I met a young software engineer again in the church this morning, last time we met on grouse mountain trail this May, I had conversation with him about my trip in June. After three months, we met again, and I had chance to preach Amazon leadership while we were waiting for church cafeteria line. 

5 minutes talk about Amazon leadership


Best learning is to teach first. I tried to explain three principles. One is invent and simplify, one is biased on action, one is customer obsession. 

The friend said that his brother worked for Amazon Seattle before. But my teaching is also based on the first hand experience.

I found that the teaching is not so hard, but I am not sure if it is efficient, and the friend could understand clearly or not.




If I can solve 500 Leetcode algorithms

Sept. 16, 2018

Introduction


It is 11:22 AM Sunday morning. I chose this research topic called "If I can solve 500 Leetcode algorithms". I thought about the topic over a few weeks. I met three very talent people and their data is over 300 algorithm last 3 or 4 months, include one graduate student, two engineers over 10 years experience.

I just finished over 200 algorithms. There are 300 algorithms to work on. Can I finish in 3 months, 6 months, or 12 months? What is my plan?

Brainstorm the ideas


I think that there are a lot of things I have to work on in order to complete this task.

1. Stay focus
2. Definitely work on problem solving skills, math and analysis basic reasoning, soft skills like confidence
3. Also very experienced, very energetic, save time for best output; work on easy level ones, and keep hard ones to be worked on and off.
4. Explore new area I have weakness
5. Find patterns for existing learning
6. Meet and know more role model
7. Understand what benefits I can have if I can finish those algorithms so quickly
8. Improve my reading
9. Improve my sharing on Leetcode discuss
10. Get to know more about technology and foundations
11. Save a lot of money
12. Bring some insights for my existing problems like housing, career, management issues and how to solve them
13. Learn some leadership principle, learn by doing. Set a good role model for people
14. I need to learn how to evaluate my thoughts and behaviors. I need to meet more people, stay outside of my house, my office, my church. Less time on wechat, internet articles.
15. I need to understand that most important things as a programmer is to understand the task, and write readable and efficient code.
16. Help me to prepare more challenging task in my career, like system design, project management
17. I already stop practicing mock interviews, I like to go back to practice a lot of mock interview around Christmas break. I need to hurry up to finish more algorithms first.
18. I like to compare the difference, before and after 500 algorithms practice, how I understand mock interview and its importance.

Continue to brainstorm


From 11:30 AM to 2:30 PM I went to Willingdon church for service. Now I came back to continue to work on this topic. 

1. I like to get used to work on one hour algorithm drill. Work on one easy level algorithms, one medium and end up one hard level algorithms. The idea is to work on three algorithm, write for two, think about for one hard level.

2. I like to push myself one weekend Saturday and Sunday to complete 10 easy level algorithms quickly in short future. This weekend starting from Friday night I just worked around 5 algorithms only. Now it is 2:41 PM.

3. I will find ways to shorten all activities to less time. I will count hours, minutes for daily activities. Scrutinize all my needs and then put something on hold.

4. I will become much more efficient person first before I can finish those 300 algorithms on Leetcode.com. Think about tradeoff for everything, every time. What if I can trade another 10 minutes for a short and quick algorithm writing.

5. I will temporarily turn off all the articles reading related to technology, news and weather, and all other social activities. I just like to get one more algorithm to complete.

6. One thing is that I will not idolize the number of algorithm solved. I will focus on problem solving experience instead.

7. I will find more ways to entertain myself through those problem solving experience. I like to find weakness in my knowledge, and find most important things to work on as a software programmer.

8. I will at least form three new habits through those 300 algorithms.

Jeff Bezos: Leadership, principles and the future (2018)

Sept. 16 ,2018

Introduction


It is the first thing in the morning I watched the video of 40 minutes. I like to write down some notes. Here is the video.


Saturday, September 15, 2018

Leetcode weekly contest 102

Sept. 15, 2018

Introduction


It is time for me to start to play contest again. I plan to play contest 102.

It takes me some time to understand the community to play contest. I like to learn and document my progress.


My performance


I wrote the first two algorithms, and then two solutions are accepted. I worked on the third algorithm and then worried about my time complexity O(N * N), N is the length of array; I thought that there is issue of timeout. I did not write the code, I still had more than 25 minutes. I did not come out O(N) solution for the third algorithm called 907. Sum of Subarray Minimums.

It turns out that the third algorithm will not time out the solution O(N * N), since I read the discuss after the contest.

I need to push myself hard. I need to take the chance. I like to show my ranking here.


After the contest


I spent more than 30 minutes to go over the lead board. I just could not believe that there are so many of them solve more than 500 algorithms on Leetcode.com. 

I have to figure out ways to solve another 100 algorithms first. 

Celebration of 200 solved algorithms on Leetcode.com

Sept. 5, 2018

Introduction


It is time for me to celebrate 200 solved algorithm on Leetcode.com. I am getting smart to work on my goal, solve more algorithms.

I also learn to prepare a page on my github called Leetcode discuss.

It is such great journey to work on easy level algorithms. So many things I learned from my practice on Add strings algorithm.

Get it done, two more algorithms


I still have to work on two more algorithms in order to reach 200. I like to share my last few math algorithms with submissions. I am proud of myself to prepare myself, train myself.




Leetcode 415. Add Strings (III)

Sept. 15, 2018

Introduction


It is an easy level math algorithm. I like to write one iterative solution using while loop.

Will write C# code very soon.


Leetcode 415. Add Strings (II)

Sept. 15, 2018

Introduction


It is an easy level math algorithm. I really had good time to learn how to write a for loop with condition statement, very creative and also efficient. I worked on it by myself but I failed to deliver one by myself. Instead I studied the Leetcode discuss for my second submission.

My practice 


Here is the link of leetcode discuss.


Leetcode 415. Add Strings (I)

Sept. 15, 2018

Introduction


It is an easy level algorithm. I wrote a recursive solution, but the code failed last test case. The recursive function causes stack overflow.

My first practice


Here is my C# code failed last test cases. Here is the link on Leetcode discuss.



Leetcode 263. Ugly Number

Leetcode 645. Set Mismatch

The richest person ever - Jeff Bezos [Business and Life Advice]

Sept. 15, 2018

Introduction


It is such great teaching about a few topics. I will write down my notes and then will google and read more on the topic.

The way I took notes is kind of messy. I need to write down the time on the video. Also I need to figure out the topic, write down the topic.

My notes


12:35 PM - 40 minutes video. The link is here.

Amazon - deliver it to you tomorrow
instill the company name to its reputation

please -> teacher
recognize their students/ by the process of the learning / convey the attitude/ do more of it/ real talent/ reflect back to the students/ solutions/ one or the other one

highly evolved/ Amazon toast 150 vs Barn and Noble 30,000 two year
Amazon toast/ all hands meeting/ not focus on competitors / focus on customers/ put heads down/ focus

steps -> relentless -> combination
stubborn relentless / envision
flexible on detail / presumption/ take it real product / pitched battle / business / zero-sum game / ecommerce success

facility/ computer / tools / teach them to do things

Algorithm/ mathematics/ obsessed with the readers/ mission / accept failuare/ willing to do that/ fail
10% chance 100% return

20:57/ 40 Take a punch / lean into the future/ Asset/ luck/ team / customers / one reason
laser on customer experience / 5 friends, 5000 friends

Fall down, and back up
be proud -> not gift, choice, practice the math
choose to work hard
choose to do right things


26:30/ 40:00
domain knowledge/ beginner's mind

stress -> have some control -> warning flags -> address stress -> ignore things you should not
stress of hard work -> out-of-work -> discipline not less -> invent new product -> requires domain expert -> trapped by the knowledge -> beginner's mind

29/40 people can count on us, employees count on each other
30/40 passion, be alert for them, calling, work, not work for you

31/ 40 project to 80

33/40 fully baked 3 years ago
How to spend the time, corners

34 philanthropist -> not on the list
36 service/ adventure
37 task switch
39 AWS, publish, service, empower other people
39:24 stress -> first step -> invent a solution, what's going on, problem solving


Thursday, September 13, 2018

Leetcode discuss

Sept. 13, 2018

Introduction

The following content is the copy of my page on github. The link is here. 
It takes a village to raise a child.
I like to adapt the culture to learn and contribute to Leetcode discuss community. It is so easy to learn from so many ideas, but it takes me more than 3 years five months to understand that I also should learn to contribute to the community.
I like to see if I adopt the value "It takes a village to raise a child", as a programmer, I think that in order to get smart, I have to learn to contribute Leetcode discuss. Since I find that it is so easy to learn the algorithm on leetcode discuss, I like to be one of them to work hard and share the thoughts and hard work.
This page is dedicated to show my effort to provide a feature to review all my past practice, all my sharing on Leetcode discuss.
It is time for me to share my practice on Leetcode.com discussion panel.
I like to encourage myself to share my code on Leetcode discussion. I learn so many things from those people sharing on Leetcode discussion panel. I like to be one of them.
Leetcode discuss
I will share more practice later. I also will add those links I shared before.
Sept. 9, 2018
Leetcode.com does not provide product feature to look up discuss shared by a player. Google search result will only show at most 20 results of my discuss.
Google search: Leetcode leetcode jianmin.chen.39
Here is the link.
Sept. 13, 2018
I like to list all my sharings on Tree easy level algorithms, Array easy level algorithms, Math easy level algorithms.
Tree easy level algorithms (solved 30)

Hard level (solved 33)

239. Sliding Window Maximum
optimal solution using LinkedList
My own blogs

Case study: leetcode 239 sliding window maximum

Sept. 13, 2018

Introduction


It is hard for me to get upvote on Leetcode.com discuss panel. I just started to share my code on Leetcode.com discuss starting from August 2018. I learned the lesson today since I was so surprised that I wrote the optimal solution more than three years ago by looking up Leetcode submission record.

It does not matter how many algorithms I practice, I have to learn to review what I have completed as well. Sometimes I may solve a hard level algorithm, I did one time on Leetcode 239 sliding window maximum more than three years ago.

Based on my analysis of this case related to the hard level algorithm, I decide to get more organized. It will be much more easy for me to review my past practice and find good ideas for each algorithm quickly.

My submission records


The optimal solution is buried in one of submissions, and it is the first time I reviewed it after three years.



I need to get more organized on my coding practice. 

How can I get smart on Leetcode practice?

Sept. 13, 2018

Introduction


I started to practice Leetcode algorithms from January 2015. I made so many mistakes in the learning process. But I started to read on Leetcode.com discuss panel after more than 12 months. How come I did not find this important product feature called Leetcode discuss.

My thinking process is to learn from others, quickly and efficiently. But I never try to make an interesting and exciting journey as well. I also need to learn to contribute, through the process, I will definitely learn to become a better learner.

I only solved 195 algorithms after more than three years eight months. I decided to get smart on Leetcode practice, start to maintain a page for myself, share all my practice on Leetcode.com first.

Get involved in the community


I think that I should have my own value as a software programmer. I should not be scared to solve a problem, and I should not worry about mistakes I make through so many practice. Learn to share is to learn to get much more smart.

It takes hours for me to put together all my sharings on this page called Julia's Leetcode discuss.

I am thinking about using this statement as my value: It takes a village to raise a child. As a software programmer, I know that it is not easy to stay active and be competitive. Can this value help me succeed in the long run?





Learn from my own practice

Sept. 13, 2018

Introduction


It is time for me to learn from my own practice on Leetcode.com. I have to get organized, make it much easy for me to review what my past practice. Here is the page I like to maintain called Leetcode discuss.

I read the submission of Leetcode 239 more than three years ago today, I was surprised that I wrote a solution using optimal time complexity using LinkedList class. I just could not believe that I wrote the code.

From my own experience to review my past submissions today, I like to get myself more organized, and prepare myself constantly review, learn and work on algorithm every day.

Ideas to work on


One of ideas is to review what I have completed for those 195 algorithms, share those easy level tree algorithms I practiced last few months.

The other idea is to write and share, and then get more active in leetcode discuss community. As long as I am active and learning all the time, I will find ways to improve myself.

The other idea is to start to work on Leetcode weekly contest.

Play with LinkedList C# source code

Sept. 13, 2018

Introduction


It is time for me to read C# LinkedList source code. I also like to learn how to write one by myself. I spent over one hour to play with the code, and I like to write one called MyLinkedList class.

I will post C# code here.

The idea is to try to find things to work on in terms of good design of C# class.


168. Excel Sheet Column Title

Sept. 13, 2018

Here is my discussion link on Leetcode.com. I also learned from discuss that the declaration of the string is not necessary, const string maps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

Leetcode 367. Valid Perfect Square

Sept. 13, 2018

Introduction


It is an easy level math algorithm. And I came cross integer out-of-range error in my first submission.

My practice


Here is the link for my C# solution.

Leetcode 239. Sliding window maximum

Sept. 13, 2018

Introduction 


I like to write a solution for the hard level algorithm called sliding window maximum. My last submission on Leetcode is more than 15 month ago.

My practice


It is important for me to review what I have practiced, and learn from my own experience. I shared the code I wrote in August, 2015. Here is the link.

Sliding window minimum

Sept. 13, 2018

Introduction


It is third time in the row I had chance to be an interviewer last few days. I had chance to learn from those interviewees, specially I can tell the super good performance.

I used the algorithm called sliding window minimum. I like to write a solution for hard level sliding window maximum in short future using the similar idea.

Sliding window minimum


Here is the code I like to study again written by the mock interviewee.

I like to write the similar solution using C#.

Leetcode 9. Palindrome number

Sept. 13, 2018

Introduction


It is an easy level math algorithm. I had such good time since I have mathematics bachelor degree, I just enjoy basic mathematics work.

My practice


Here is my link to share the practice on Leetcode.com.


Wednesday, September 12, 2018

Leetcode 172: Factorial trailing zeroes

Sept. 12, 2018

Introduction


It is an easy level math algorithm. Since I have not worked on basic mathematics long time, I had to work with online judge and kept tuning my ideas until I came out fully function solution. I submitted three times and failed three test cases.

My practice


Here is the link I shared my practice on Leetcode.com.




Leetcode articles - only official solutions you will find

Sept. 12, 2018

Introduction


It is time for me to start to read Leetcode articles. I like the articles published on the platform. I like to list my favorite articles here in next two months.

Articles


Longest univalue path, here is the link.







A rookie in Leetcode weekly contest

Sept. 12, 2018

Introduction


It is very helpful to document my Leetcode weekly contest 101. I am the rookie as a player, I only played three time in 2017. I played again last Saturday, but I did not notice that I worked on one hard level algorithm all the time. If I could not pass all the test cases, I will score 0. The first two algorithms are medium level, I only spent less than 10 minutes to go over the problem statement.

Prepare for next Leetcode weekly contest 


I have to work on preparation for this week Leetcode contest. I need to write down a check list to prepare myself better this time.


It is fun to work as an interviewer

Sept. 12, 2018

Introduction


It is fun to work as an interviewer. I learn that people can make such good career in United States. I definitely learn a few things through one hour practice as an interviewer. The algorithm I chose is called converted sorted list to a binary search tree.

Follow up


Sept. 25, 2018

It was such great experience for me to learn from the peer. The interviewee was so humble and asked me if he is ready to go for real interviews. I did study his github folder containing over 300 Leetcode algorithms, that is the first time I learned that markdown is a keyword and I need to find out how to write markdown script.


Tuesday, September 11, 2018

Leetcode 109. Convert sorted list to binary search tree

Sept. 11, 2018

Introduction


It is important to share my C# code on Leetcode discuss. I did spend time to learn again the bottom up approach by iterating the linked list one by one, and then construct binary search tree bottom up.

It is not easy to reason that the binary search tree can be constructed this way. Specially think in recursive function. I like to add some comment to remind myself that inorder traversal is applied in the function.

My sharing 


Here is the link I shared on Leetcode discuss.


Leetcode 441. Arranging Coins

Sept. 11, 2018

Introduction


It is an easy level math algorithm. I chose to write a binary search algorithm. And I submitted first five times but failed to pass online judge, I came cross integer overflow problem as well. It was a very good practice.

My practice


Here is my discuss link I shared on Leetcode.com. The code passes online judge.