如何优化以下算法?
How to optimize following algorithm?
我们有以下算法:
while(a > b) {
a -= c;
}
a、b、c给定,b、c为常量,c>0。
现在它以线性时间运行。
是否可以加快速度,以对数或恒定时间工作?
执行二进制搜索以找到最小值 x
使得 a-x*c <= b
.
嗯...你可以试试这个,对吧(假设 a、b 和 c 是正整数)?
a = (a-b)%c + b - c
我们有以下算法:
while(a > b) {
a -= c;
}
a、b、c给定,b、c为常量,c>0。
现在它以线性时间运行。 是否可以加快速度,以对数或恒定时间工作?
执行二进制搜索以找到最小值 x
使得 a-x*c <= b
.
嗯...你可以试试这个,对吧(假设 a、b 和 c 是正整数)?
a = (a-b)%c + b - c