To work on HackerRank algorithm AoB, Julia found out that it took her more than
Strategies talk:
In order to save time and help herself think clearly/ simple, at the very beginning, she should define this small function, play with the code, and make it bug-free first. So, choose an easy battle first, something she can finish in 20 minutes and well-defined, easy to set up test cases and verify, and then, put together a complicate function to complete the task. If there is doubt or unsolvable issues, go back to the easy function, work on it more.
Problem statement:
Write a function to do A or B calculation, A and B is bigger than 0, and smaller than 16^(50000)
Analysis:
The size of number is too big, 64 bit integer is only < 2^64, so only work on one char at a time - one Hexadecimal char (0-F) a time. Only convert char and integer between Hexadecimal char(0-F) and integer (0-15).
Test case:
Hexadecimal: 1000 | 11000 = 11000
A | B
For example:
A = "111A"
B = "1B"
so, A|B = "111B"
C# practice: https://gist.github.com/jianminchen/5442cb579b13ffc203ce89b3e54e8a36
No comments:
Post a Comment