April 17, 2016
problem statement:
https://www.hackerrank.com/challenges/connected-cell-in-a-grid
Here is the code studied using DFS function with return value.
https://gist.github.com/jianminchen/bc2c399407a30181ca68292459a3c791
Julia likes to practice using same idea, write her own implementation.
Practice #1:
https://gist.github.com/jianminchen/fd909c3545e2081cf2dd2b6daea5900f
Time spent:
Copy main function from previous implementation, and write recursive function - it takes less than 15 minutes.
First time write, no bug!
April 18, 2018
Here is another writing over 30 minutes:
Practice #2:
https://gist.github.com/jianminchen/d434bcc59ebc8eb7c2cbb20c6f48ac06
The practice goal is to see if I can shorten the time to 10 minutes in writing. How good I can write.
But, surprisingly, the practice takes 30 minutes; and I found out the several issues:
1. Timeout - recursive calls, if/ while checking
2. Array.GetLength api
First, time out issue; read a row of '0' or '1', should be if, I put a while. <- it takes more than 10 minutes to find out. I pinpoint recursive call, because I have doubt, not 100% sure.
And then, I tried to avoid the recursive call to itself, and then, (dr, dc), mistakely I put (dr, dr); HackerRank shows wrong answers for 2 test cases.
Make one change a time, and see if I can shorten the time to 10 minutes.
Study Array.getLength()
https://msdn.microsoft.com/en-us/library/system.array.getlength(v=vs.110).aspx
Another version, it takes 14 minutes to write, without a bug:
Practice #3:
https://gist.github.com/jianminchen/bd155e574b32ebb163455dad02fa76b1
Julia's performance is up and down, from 15 minutes to 30 minutes.
Again, all practices links:
#1
https://gist.github.com/jianminchen/fd909c3545e2081cf2dd2b6daea5900f
#2
https://gist.github.com/jianminchen/d434bcc59ebc8eb7c2cbb20c6f48ac06
#3
https://gist.github.com/jianminchen/bd155e574b32ebb163455dad02fa76b1
Work on speed and accuracy. Practice, more concentrated on writing. More alert on bug code. More knowledge about api, and basic things.
Learn Jagged Array -
http://stackoverflow.com/questions/597720/what-are-the-differences-between-a-multidimensional-array-and-an-array-of-arrays
From January 2015, she started to practice leetcode questions; she trains herself to stay focus, develops "muscle" memory when she practices those questions one by one. 2015年初, Julia开始参与做Leetcode, 开通自己第一个博客. 刷Leet code的题目, 她看了很多的代码, 每个人那学一点, 也开通Github, 发表自己的代码, 尝试写自己的一些体会. She learns from her favorite sports – tennis, 10,000 serves practice builds up good memory for a great serve. Just keep going. Hard work beats talent when talent fails to work hard.
Sunday, April 17, 2016
HackerRank: Connected Cell in a Grid (III) - C# solution (III) - using recursive function
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment