题解:对于此题,如果直接用暴力搜索,预计会超时。但是其实只需要构造一个计算公式即可,计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;
}
};
京公网安备 11010502036488号