题解:对于此题,如果直接用暴力搜索,预计会超时。但是其实只需要构造一个计算公式即可,计x = (n / a) * a + b,如果超出了n,那么我们只需要减掉a即可,反之,直接返回x即可。
时间复杂度:
空间复杂度:
参考代码:
class Solution { public: /** * 返回满足条件的最大的x。 * @param a int整型 代表题意中的a * @param b int整型 代表题意中的b * @param n int整型 代表题意中的n * @return int整型 */ int solve(int a, int b, int n) { // write code here int x = (n / a) * a + b; return x > n ? x -= a : x; } };