2769. Find the Maximum Achievable Number
Description
Given two integers, num
and t
. A number x
is achievable if it can become equal to num
after applying the following operation at most t
times:
- Increase or decrease
x
by1
, and simultaneously increase or decreasenum
by1
.
Return the maximum possible value of x
.
Example 1:
Input: num = 4, t = 1
Output: 6
Explanation:
Apply the following operation once to make the maximum achievable number equal to num
:
- Decrease the maximum achievable number by 1, and increase
num
by 1.
Example 2:
Input: num = 3, t = 2
Output: 7
Explanation:
Apply the following operation twice to make the maximum achievable number equal to num
:
- Decrease the maximum achievable number by 1, and increase
num
by 1.
Constraints:
1 <= num, t <= 50
Solutions
Solution 1: Mathematics
Notice that every time we can decrease $x$ by $1$ and increase $num$ by $1$, the difference between $x$ and $num$ will decrease by $2$, and we can do this operation at most $t$ times, so the maximum reachable number is $num + t \times 2$.
The time complexity is $O(1)$, and the space complexity is $O(1)$.
Python3
class Solution:
def theMaximumAchievableX(self, num: int, t: int) -> int:
return num + t * 2
Java
class Solution {
public int theMaximumAchievableX(int num, int t) {
return num + t * 2;
}
}
C++
class Solution {
public:
int theMaximumAchievableX(int num, int t) {
return num + t * 2;
}
};
Go
func theMaximumAchievableX(num int, t int) int {
return num + t*2
}
TypeScript
function theMaximumAchievableX(num: number, t: number): number {
return num + t * 2;
}