I would definitely have things to add on to this list, but I'll keep it for a future post. For beginners, this is definitely a read worth your time, though I agree- some things only come with experience and most young engineers don't realise the importance of such development disciplines until they have themselves faced the consequences of not having followed them!
* SDE Career Contemplations * DSA Practice * Problem Solving in Java * Tech in General * Open Source guidance * Career guidance
Monday, September 16, 2019
Engineering wisdom from a Senior in Software Development and Engineering
I won't bore you by lecturing what has been often described before. This man, Neil Kakkar, did an amazing job at summarising (and kudos to keeping his mind open to learning these finer details) what he learnt from the craftsmanship of a Senior Software Engineer while working under his guidance:
Sunday, April 7, 2019
Google Code Jam Qualification Round 2019 - My submissions and Post Contest Analysis
Hello World!
As promised in my last post, here are my submissions along with post contest analysis for GCJ Qualification Round 2019.
In all, I made 2 successful submissions (and one mis-formatted output submission that costed me some penalty) and with that I was able to score sufficient points for clearing the round and advancing to the next level! :) 👊
I also went through the third problem in the contest and came up with a solution but I couldn't push it in in time. I'll upsolve and share the remaining un-submitted problems here shortly.
So, without much ado, here are the problems that I did:
Problem 1: Forgone Solution
The solution I coded was written with all 3 and specially the largest hidden test set in mind. As N can be upto 10^100 digits long in the largest test set, it makes the problem obviously a string manipulation problem and thus the below solution is such.
Worst case run time complexity: O(n) where n is the number of digits in N.
Problem 2: You Can Go Your Own Way
This was a maze problem the solution for which was again written with the time constraints for the largest test set in mind. The solution you want should be no more than O(n^2) complex which was possible with a classic dynamic programming approach to it which I had used. All went well and visible tests got passed but the hit was the hidden test set which was executed post the end of contest where my solution couldn't satisfy the memory constraints. The verdict was Memory Limit Exceeded. It turns out that I have been spendthrift in the memory actually and some optimizations could be deployed to avoid that. I'll up-solve it with a more space-optimal solution for the problem and test it under the practice round but until then, the DP solution is as follows.
Worst case run time complexity: O(N^2) where N is the input - length of one side of the NxN maze.
Congratulations to all those who made it through to the next round! Hope to see you coming out with flying colors! See you at the score board of the hall of fame!!
As always, feel free to point out optimizations or share your suggestions to my approach to the problems shared here. Until then,
Love and Luck,
~glassrose
As promised in my last post, here are my submissions along with post contest analysis for GCJ Qualification Round 2019.
In all, I made 2 successful submissions (and one mis-formatted output submission that costed me some penalty) and with that I was able to score sufficient points for clearing the round and advancing to the next level! :) 👊
I also went through the third problem in the contest and came up with a solution but I couldn't push it in in time. I'll upsolve and share the remaining un-submitted problems here shortly.
So, without much ado, here are the problems that I did:
Problem 1: Forgone Solution
The solution I coded was written with all 3 and specially the largest hidden test set in mind. As N can be upto 10^100 digits long in the largest test set, it makes the problem obviously a string manipulation problem and thus the below solution is such.
Worst case run time complexity: O(n) where n is the number of digits in N.
Problem 2: You Can Go Your Own Way
This was a maze problem the solution for which was again written with the time constraints for the largest test set in mind. The solution you want should be no more than O(n^2) complex which was possible with a classic dynamic programming approach to it which I had used. All went well and visible tests got passed but the hit was the hidden test set which was executed post the end of contest where my solution couldn't satisfy the memory constraints. The verdict was Memory Limit Exceeded. It turns out that I have been spendthrift in the memory actually and some optimizations could be deployed to avoid that. I'll up-solve it with a more space-optimal solution for the problem and test it under the practice round but until then, the DP solution is as follows.
Worst case run time complexity: O(N^2) where N is the input - length of one side of the NxN maze.
Congratulations to all those who made it through to the next round! Hope to see you coming out with flying colors! See you at the score board of the hall of fame!!
As always, feel free to point out optimizations or share your suggestions to my approach to the problems shared here. Until then,
Love and Luck,
~glassrose
Saturday, April 6, 2019
Google Code Jam 2019 Qualification Round Underway!
Google Code Jam 2019 Flyer
You don't need any more motivation!
[Stay tuned for my solutions to the Qualification Round on this blog post end of the contest ;) ]
You don't need any more motivation!
[Stay tuned for my solutions to the Qualification Round on this blog post end of the contest ;) ]
Saturday, January 12, 2019
Bidding Goodbye to 2018! *latepost*
"A man is known by the company he keeps!"
This is a memorable moment from most of the members from my company(pun intended) gathering together for 2018-year end celebrations! We happened to celebrate my birthday as well, that day. Here we see a ensemble of truly diverse and super-motivated folks - Rapyutians of Rapyuta Robotics - with a common mission of "hashtagEmpowering hashtaglives with hashtagconnected hashtagmachines" !!
This is a memorable moment from most of the members from my company(pun intended) gathering together for 2018-year end celebrations! We happened to celebrate my birthday as well, that day. Here we see a ensemble of truly diverse and super-motivated folks - Rapyutians of Rapyuta Robotics - with a common mission of "hashtagEmpowering hashtaglives with hashtagconnected hashtagmachines" !!
Sunday, December 16, 2018
Moved to Tokyo for Robotics Engineering experience
As a child, I used to watch this American sitcom called "Small Wonder" (https://en.m.wikipedia.org/wiki/Small_Wonder_(TV_series)) which made me go awestruck with the wonders that engineering could create! Coming from a doctors' family, this sitcom was my first hand exposure to what an engineer's life looked like.
Eventually, I ended up studying Computer Science and Engineering myself. But, it was not until now that I really got a chance to do something substantial on the robotics front.
Fast forwarding to about the last quarter this year, I bagged a job opportunity in a field that's an amalgamation of Software Engineering and Robotics! I graciously accepted the offer, changed countries and henceforth, will be working as a Software Development Engineer for Robotic Systems Software out of Tokyo, Japan for this Japanese company - Rapyuta Robotics, whose mission aligns so much with my vision.
I trust, it's all how it was destined to be and I wouldn't have been here without the experience that my previous gigs provided me. The knowledge of Linux systems software that I gained at IBM was definitely a pre-requisite for my current role and equipped with all these skills gained over years, I aim at creating and achieving many more milestones, with my team, for this new found love for empowering lives with connected machines.
That's all for now, and until next time, take care and happy hacking!
Sunday, January 28, 2018
Some new problems solved and added to my git repo. last week
Some Stack-based practice programs:
6. COMPILER - My Submissions (directly view-able)
7. MMASS - My Submissions , Accepted Solution
8. HISTOGRA - My Submissions , Accepted Solution
9. ANARC09A - My Submissions , Accepted Solution
✌😎
~
Happy hacking!
6. COMPILER - My Submissions (directly view-able)
7. MMASS - My Submissions , Accepted Solution
8. HISTOGRA - My Submissions , Accepted Solution
9. ANARC09A - My Submissions , Accepted Solution
✌😎
~
Happy hacking!
![]() |
| Image source: Google Images |
Tuesday, November 21, 2017
Updates from last 3 weeks or so...
I took part in Codechef's November Challenge (which stretched from 3rd till 13th of Nov.) intermittently solving some of the tough problems (not necessarily quickly) to keep a track of my progress and increase my comfort in solving problems in a long contest setting.
Ranked at 2856 out of 7024 who submitted at-least one problem partially or completely correct, I'd say it was an slight better than average performance. My long-contest rating saw a big boost, but I simultaneously saw a drop in my overall codechef rating [performance graphs]. Solved 3 problems successfully, tried fourth and fifth one but couldn't figure out the problem so didn't attempt and saw wrong answer for a submission for the sixth problem. For the remaining four, I didn't even get a chance to go through given the limited time I had (this happens when you manage your job while stealing some time out for your hobby. ;) )
Successful submissions are open to public post closure of the contest:
https://www.codechef.com/NOV17/status/VILTRIBE,chandniverma
https://www.codechef.com/NOV17/status/CLRL,chandniverma
https://www.codechef.com/NOV17/status/PERPALIN,chandniverma
I am yet to up-solve those 7 problems which I couldn't solve during the contest.
-------
The following week, I got my free time busy with the 35th Week of Code by Hackerrank.
Ranked at 3181 out of 9289, I'd say I performed better than average among the participants but there is still a huge gap between my score (59) and that of the highest scorer (290).
Here, I solved the first 3 problems successfully.
The fourth problem, Matrix Land, was a show-stopper! I really recommend it! I spend 3 evenings on it and still was not able to come up with a working solution. I was trying to figure out a modification of Bellman-Ford algorithm (which is a Dynamic Programming algorithm) to solve it with some decent efficiency but was getting nowhere as there was no way to mark visited vertices...
It turns out, reading the insightful problem editorial, one could solve it using a bunch of dynamic programming equations.
I went through the 5th and 6th problems too which were number crunching problems and they despite of being hard and expert level, seemed easier than the 4th one but didn't get much time to think them through their solutions.
Again, I have yet to up-solve the unsolved ones.
Ranked at 2856 out of 7024 who submitted at-least one problem partially or completely correct, I'd say it was an slight better than average performance. My long-contest rating saw a big boost, but I simultaneously saw a drop in my overall codechef rating [performance graphs]. Solved 3 problems successfully, tried fourth and fifth one but couldn't figure out the problem so didn't attempt and saw wrong answer for a submission for the sixth problem. For the remaining four, I didn't even get a chance to go through given the limited time I had (this happens when you manage your job while stealing some time out for your hobby. ;) )
Successful submissions are open to public post closure of the contest:
https://www.codechef.com/NOV17/status/VILTRIBE,chandniverma
https://www.codechef.com/NOV17/status/CLRL,chandniverma
https://www.codechef.com/NOV17/status/PERPALIN,chandniverma
I am yet to up-solve those 7 problems which I couldn't solve during the contest.
-------
The following week, I got my free time busy with the 35th Week of Code by Hackerrank.
Ranked at 3181 out of 9289, I'd say I performed better than average among the participants but there is still a huge gap between my score (59) and that of the highest scorer (290).
Here, I solved the first 3 problems successfully.
The fourth problem, Matrix Land, was a show-stopper! I really recommend it! I spend 3 evenings on it and still was not able to come up with a working solution. I was trying to figure out a modification of Bellman-Ford algorithm (which is a Dynamic Programming algorithm) to solve it with some decent efficiency but was getting nowhere as there was no way to mark visited vertices...
It turns out, reading the insightful problem editorial, one could solve it using a bunch of dynamic programming equations.
I went through the 5th and 6th problems too which were number crunching problems and they despite of being hard and expert level, seemed easier than the 4th one but didn't get much time to think them through their solutions.
Again, I have yet to up-solve the unsolved ones.
Subscribe to:
Posts (Atom)
Featured Post
interviewBit Medium: Palindrome Partitioning II
Problem Name: Palindrome Partitioning II Problem Description : https://www.interviewbit.com/problems/palindrome-partitioning-ii/ Problem Ap...
-
Many users had requested this feature ( bug ) and it is now available for all to use. Now Empathy supports blocking/unblocking contacts on ...
-
Day 1 and 2 of the Hackfest begun from the Intel's HAL Airport Road office at Bangalore (thanks to Srinivasa for getting it arranged). ...
-
Some time ago, my computer's hard disk broke and I didn't had a recent backup copy which increased my pain. I hope no computer depe...
