14.酒瓶替换

class Solution {
    int ans=0;
public:
    int fun(int numBottles,int n,int numExchange){
        ans+=numBottles;
        //置空
        n+=numBottles;
        numBottles=0;
        //替换
        numBottles=n/numExchange;
        n-=numBottles*numExchange;
        if(numBottles==0) return ans;
        return fun(numBottles,n,numExchange);
    }
    int numWaterBottles(int numBottles, int numExchange) {
        return fun(numBottles,0,numExchange);
    }
};

两步状态转移

原文地址:https://www.cnblogs.com/apo2019/p/13343861.html