Let's begin with some problems from Leet Code. Code it in whatever language you want, I myself will use Ruby so I can keep practicing. The idea is threefold:
- Learn from other's creativity on how to solve the problem
- Learn from other's code in terms of:
- writing style (naming, abstraction design, etc).
- efficiency of the solutions (speed, memory).
To share code I am following a great idea from the Seattle.rb study group. So feel free to create a directory for your account name and submit any code. Please make sure to follow Ryan's James Brown Guide to git etiquette:
[alias]
down = pull --rebase
onup = push
Now you too can join the James Brown school of git:
git down && git onup
This is tentative. Each one is free to follow his own path, on my part I am going to do the following in order. Probably one a day (no idea if they are too easy or not) up to Dec 13, and then more each day until Xmass.
- Prb_1: Maximum Depth of Binary Tree
- Prb_2: Count and Say
- Prb_3: Min Stack
- Prb_4: ZigZag Conversion
- Prb_5: Reverse Integer
- Prb_6: String to Integer (atoi)
- Prb_7: Palindrome Number
- Prb_8: Roman to Integer
- Prb_9: Longest Common Prefix
- Prb_10: Valid Palindrome
- Prb_11: Pascal's Triangle II
- Prb_12: Pascal's Triangle
- Prb_13: Remove Nth Node From End of List
- Prb_14: Path Sum
- Prb_15: Minimum Depth of Binary Tree
- Prb_16: Balanced Binary Tree
- Prb_17: Binary Tree Level Order Traversal II
- Prb_18: Read N Characters Given...
- Prb_19: Binary Tree Level Order Traversal
- Prb_20: Symmetric Tree
Open to all ideas.