refactor best time to buy and sell stock ii