用空瓶子换汽水经常遇到 今天在论坛上有人提出来,给的算法用递归实现的 如果数量在百万那么时间复杂度我认为不合理
其实我认为这个问题很简单 如果几十个人需要喝汽水 完全可以根据数学模型口算出来 也就是说时间复杂度为n
数学模型:
N个瓶子换一瓶汽水。(假设瓶子的价钱为1)
瓶子价钱x 一瓶汽水除去瓶子本身的价钱实际价钱为y那么
N * x = x + y;
y = (N - 1 ) * x;
那么至少需要的money就很容易计算出来就可以计算出开始需要买几瓶汽水了
java代码如下: