Wednesday, October 3, 2018

599. Minimum Index Sum of Two Lists

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

409. Longest Palindrome

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

447. Number of Boomerangs

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

242. Valid Anagram

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

389. Find the Difference

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

136. Single Number

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

575. Distribute Candies

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

Tuesday, October 2, 2018

463. Island Perimeter

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

500. Keyboard Row

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

500. Keyboard Row

Hashtable easy level algorithm
136. Single Number using XOR
242. Valid Anagram One more mistake to remind me to work on easy level
350. Intersection of Two Arrays II
389. Find the Difference using XOR
409. Longest Palindrome 
447. Number of Boomerangs
463. Island Perimeter 
500. Keyboard Row do it myself
500. Keyboard Row use HashSet API IsSubsetOf
575. Distribute Candies Need to work on my reading skills
599. Minimum Index Sum of Two Lists
706. Design HashMap Use fix size of space determined by upper bound
720. Longest Word in Dictionary use hashset
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Trie data structure
720. Longest Word in Dictionary use Queue data structure
720. Longest Word in Dictionary use recursive function

Having a role model

Oct. 2, 2018

Introduction


It is time for me to learn something from a role model. I like to study those players who have solved over 500 Leetcode algorithms.

Today the role model is Yuan Li, who happened to be a facebook engineer. The profile is here.

I usually do not know how to learn from the role model. I just quickly go over the linkedin profile, and then try to look into some detail.

Get some data


Honorable mention in ACM/ICPC World Final in St. Petersburg, Russia

honor dateJul 2013

4th place in the 36th ACM/ICPC North America Regional Contest

honor dateNov 2011



      

What I like to do is to compare how quickly a person can learn. After three months, I like to see what is difference.

I only solve 246 algorithms, compare to 799 algorithms. My global ranking of contest is 12026 compared to 5. I only played around 6 weekly contest.

Best way to join the community of Leetcode



I think that it is so important for me to learn how the community works around Leetcode. I could not believe that I did not find Leetcode discuss product feature from January to December 2015. I always searched Google and find some blogs written in Chinese.

It is the first time I learn how to get involved in the community until this July 2018. I decided to work on easy level algorithms, and also I like to learn better way to learn and stay organized.

I did play a few Leetcode weekly contest in 2017, but I stopped. I documented my practice of the algorithm in my blog in 2018, but better way is to share with Leetcode community thousands of players, and also contribute the idea.

Sometimes great ideas can be found through the discuss, and sometimes through mock interview I got a peer sharing their experience from Leetcode.com.

I also learn to read my own data on Leetcode community. Make judgement based on data from Leetcode.com. I should respect all other players as well. If I am not competitive enough, it will definitely show up how many algorithms I solve, how many contests I play, and what is my global ranking of contest.

Also my personality will also show up in my sharing on those easy level algorithms. How open I write my practice, sharing of my failure, mistakes, story about the training, ideas to improve etc.

45 days players can finish 200 to 400 algorithms. For those top university top ranking computer science graduate students, some of them can really get very aggressive learning through the community.

I need to get more aggresive, since last 3 months I solved 150 easy level algorithms. Next three months, I like to solve 200 medium level algorithms.

Monday, October 1, 2018

How to solve over 400 algorithms in 45 days?

Oct. 1, 2018

Introduction


It is 10:32 PM. I like to work on a short research called how to solve over 400 algorithms in 45 days. I met a young graduate student over one month ago, he told me that he finished over 400 algorithm in 45 days, and over 250 algorithms are medium level.

Just be creative 


I like to write down 10 ideas how to make submission of 400 algorithms in 45 days.

1. Work on easy level algorithms first.
2. Learn how to solve 10 algorithm a day.
3. If I cannot do item 2, try to work on 10 submissions a day.
4. If I cannot do item 3, then I should be able to read 10 solutions, and write C# code based on those most popular discuss first.
5. If I cannot do item 4, I may ...

How to take short breaks?

Oct. 1, 2018

Introduction


It is 10:16 PM, how to take short breaks while working on Leetcode easy level algorithms. I wish that I can work 10 easy level algorithm without a break.

Here is the story. I solved 4 easy level hashtable algorithm, but I could not come out the solution for the fifth one. I read the problem statement over three times, I read a few solutions, and then I finally understood the problem. But I felt tired. I took a break 1 hour 19 minutes.

I need to do some research and figure out how to delay the break.

Get data first


Here is my submissions and then I took a break. Now it is 11:22 PM, Oct. 1, 2018.


I worked on problem solving just over one hour, and then I felt tired.

Reading skills

Oct. 1, 2018

Introduction


I like to write a blog about reading skills and how it relates to algorithm and data structure problem solving. I had some hard time to figure out the problem requirement on hashtable easy level algorithm. I read problem statement more than three times, and also it took me more than 10 minutes.

It is Leetcode 575 Distribute candies.


Sunday, September 30, 2018

Product feature called price drop

Sept. 30, 2018

Introduction


I like to write a blog talking about the product feature called price drop. Here is the website I spent over 30 minutes to look up.

19567 64 AVENUE, Surrey, British Columbia

One month price drops $20,000. 

$379,000 CAD 20.9K
  • 1 Beds
  •  
  • 1 Baths
  •  
  • 615 Sqft
Property Type
Condo
MLS® Number
R2296430
Year Built
2019
Date Added
11 August 2018
Stories
1
Parking Info
Garage
Basement
None


Understanding market price



Industry study -

Industry study - streamlabs

Industry study - infomine

Industry study - best buy

Industry study - Electronic arts

Oct. 3, 2018

Introduction


It is so good learning experience for me to read the job description from Electronic arts. I like to write down some technologies, and make sure that I can bring those technologies into my current job as well.

It takes time for me to learn new technologies. But there are so many ways to learn and quickly I can do that.

Say goodbye to old technologies


I need to update myself with new technologies related to ASP.NET, Anuglar.JS, and a few of frameworks.

Software Engineer - Quality Engineering

This position is to help build the next iteration of our quality reporting and workflow platform which leverages a microservice architecture, .NET technologies, Angular, TypeScript, and Docker to support EA’s game teams in building high-quality games.
The Software Engineer is a member of the Central Development Services (CDS) team at Electronic Arts. The CDS team are at the forefront of emerging technology, creating and optimizing tools that enable our teams to code better and more efficiently. Working as one team they are pushing the envelope, striving for ‘Quality by Design’ wherever possible.
The role requires a personality type that is outgoing, dynamic, enthusiastic, and able to network across groups and individuals to be part of a larger community.

Qualifications

  • Bachelor’s degree or higher in Computer Science, Engineering, or Software Engineering or equivalent combination of education and experience.
  • A minimum of 4+ years of technology industry experience.
  • This role will be split between frontend and backend development, therefore experience developing with frontend web technologies: JavaScript/TypeScript, CSS, and JavaScript framework(s) such as Angular, React, or VueJS is essential.
  • On the backend our team primarily uses C# and the .NET Core framework but we’re looking for a developer with strong experience in one or more OO languages such as C#, Java, Python, Go, or Ruby.
  • Knowledge of HTTP and how to design and interact with RESTful web services.
  • Experience with and/or exposure to microservices.
  • Understanding and experience with securing web services and applications.
  • Experience with Git.
  • Experience with unit, integration, and functional testing.
  • Knowledge of architecting and building scalable, resilient, and performant web services.
  • Knowledge of test automation and/or development process improvements.
  • Knowledgeable of the software lifecycle, modern testing methods, and a solid understanding of continuous integration.
  • Demonstrated problem solving and innovation skills
  • Ability to work independently with minimal outside supervision.
  • Ability to multi-task, prioritize and be flexible – able to adapt plans and react to change.

Additional Skills and Abilities

  • Working knowledge of deployment and management systems utilizing containerization (Docker, Mesos, Kubernetes) is a plus.
  • Experience with Video Game development is a plus.
  • Experience with functional programming is a plus.
  • Knowledge of test automation and/or development process improvements.
  • Performance Competencies (Non-Technical Skills)
    • A genuine interest in keeping up with technical trends in the software industry and applying this knowledge to the role.
    • Excellent communication skills, including verbal, face-to-face, written, and presentation.
    • Excellent detail-oriented problem solving skills.
    • Experience working cross-functionally with teams that are distributed across multiple different geographic regions.
    • Excellent organization and time management skills.
    • Experience working in a Scrum/Agile environment is a plus.
    • Able to quickly assess situations, troubleshoot complex problems, and keep a calm head under tight time constraints and high pressure.
    • Self-starter and ability to quickly learn and apply new concepts, principles, and solutions with little supervision.
    • Ability to work independently as part of a distributed organization.

Industry study - douglas lighting

Oct. 1, 2018

Introduction


It is time for me to catch up some technology related to C#, ASP.NET. I need to find some time to play with Restful API, and also learn some Angular.Js as well.

It is important to keep update with the trend.

Keywords


I need to find those keyword and also understand the business as well.

Oct. 1, 2018 indeed.ca

Developing iOS, Android and Windows applications that enable ground-breaking innovation including:
  • Energy reporting to verify the savings of our LED and Controls technologies
  • World-wide monitoring and control of smart buildings
  • Geo-positioning and relaying information to mobile devices inside a smart building using Bluetooth beaconing
  • Energy use optimization based on occupancy patterns and machine learning
  • Leveraging innovative technology and working with other Panasonic groups including http://panasoniccitynow.com/
EDUCATION AND EXPERIENCE
  • Bachelors’ Degree in Computer Science or related field with 3 yrs+ exp
  • Experience developing iOS and Android applications
  • Proficient experience using .Net C# (.NET 3.5+)
  • Presentation-layer skills using: HTML5/Javascript/CSS/ JQuery/AngularJS
  • Experience with RDBMS and/or NoSQL
  • Experience with PHP, Ruby on Rails, or other open source technologies and frameworks
  • Experience with using RESTful APIs for communication with other backend systems
  • Experience with Python, PHP and Java programming languages
  • Familiarity with Lean-Agile methodologies (Scrum/Agile/XP/Kanban)
OTHER QUALIFICATIONS - CHARACTERISTICS - SPECIALIZED SKILLS
  • Renewable energy experience
  • Experience working with SCADA/HMI
  • Hand-on experience in Visual Studio based development for Embedded and Server applications
CORE COMPETENCIES
If you’re a self-starter interested in working with a focused team targeting novel solutions for energy conservation in the lighting and building management space, we’d like to hear from you.

Saturday, September 29, 2018

Leetcode 910. Smallest Range II

Sept. 29, 2018

Introduction


It is such a big surprise that I found an excellent player who also wrote blogs related to weekly contest 103. The algorithm 901 is so tough for me to come out the solution to pass all test cases in the contest.

Here is the blog written in Chinese.

Leetcode discuss


Here is the post to read.



Leetcode 911 online election

Sept.29, 2018

Introduction


It is such a great blog related to the medium level algorithm 911, online election. Here is the blog.

A very good algorithm blog

Sept. 29, 2018

Introduction


It is time for me to study leader board after weekly contest 104. Now it is 11:02 PM, I came cross this blog and I am so surprised that the blogger is such a great worker. The algorithm online election will be my most favorite algorithm in short future.

Here is the blog.

Very good writing


The player can rank up to top 400, here is one blog to document his experience. I also learn something from his blog related to hackearth contest.

915. Partition Array into Disjoint Intervals

Sept. 29, 2018

Introduction


It is the medium level algorithm in the weekly contest 104. I wrote the solution using two iterations of the array, one is to keep maximum of prefix and minimum of suffix.

My practice


Here is my discuss link. I also learned to write one pass, and then I wrote the reply in one of posts here.