这么着说可能容易理解点:
从旅客角度计算:
30=(10-1)*3+3 也就是说 3个人 每个人出了10元钱,后来他们每个人又得到了一元钱,按上式计算正好30。
从老板角度计算:
30=25+3+2,也是没有问题,老板自己从中拿了25元,服务员拿了2元,3名旅客拿了3元,这个计算没有问题。
lz算法的问题所在:
3名旅客确实出了9快钱,服务员拿了2元,那么老板拿了多少呢? 显然是25元。也就是说应该这样算:3*9-2=25。
lz错误的认为老板仍然获得了30元,所以出了这个bug。
个人所见 欢迎批评