标签: algorithm optimization big-o
我们有以下算法:
while(a > b) { a -= c; }
现在它在线性时间内工作。 是否有可能加快速度,以对数或恒定时间工作?
答案 0 :(得分:5)
嗯......你可以尝试这个,对(假设a,b和c是正整数)?
a = (a-b)%c + b - c
答案 1 :(得分:1)
执行二分查找以找到x的最小a-x*c <= b。
x
a-x*c <= b