Hi All, I have the following problem. can you help me in solving this.
Suppose we could access yesterday's stock prices as an array where: - The indices are the time in minutes past trade opening time, which was 9:30 am local time - The values are the price in dollars of Apple stock at that time So if the stock cost $500 at 10:30am, stock_prices_yesterday[60] = 500 Write an efficient function that takes stock_prices_yesterday and returns the best profit I could have made 1 purchase and 1 sale of 1 Apple stock yesterday. Below is a solution that uses brute force algorithm. Big 0(n2). Can you write an improved solution at Big 0(n2) or even better Big 0(n) *def get_max_profit(stock_prices_yesterday)* * max_profit = 0* * # go through every time* * for outer_time in (0...stock_prices_yesterday.length)* * # for every time, go through every OTHER time* * for inner_time in (0...stock_prices_yesterday.length)* * # for each pair, find the earlier and later times* * earlier_time = [outer_time, inner_time].min* * later_time = [outer_time, inner_time].max* * # and use those to find the earlier and later prices* * erlier_price = stock_prices_yesterday[earlier_time]* * later_price = stock_prices_yesterday[later_time]* * # see what our profit would be if we bought at the* * # earlier price and sold at the later price* * potential_profit = later_price - earlier_price* * # update max_profit if we can do better* * max_profit = [max_profit, potential_profit].max* * end* * end* * return max_profit* *end* -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/d6829f20-3d19-471b-8910-7ac1700c1820%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.