Skip to content

2769. Find the Maximum Achievable Number

Description

Given two integers, num and t. A number is achievable if it can become equal to num after applying the following operation:

  • Increase or decrease the number by 1, and simultaneously increase or decrease num by 1.

Return the maximum achievable number after applying the operation at most t times.

 

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)$.

1
2
3
class Solution:
    def theMaximumAchievableX(self, num: int, t: int) -> int:
        return num + t * 2
1
2
3
4
5
class Solution {
    public int theMaximumAchievableX(int num, int t) {
        return num + t * 2;
    }
}
1
2
3
4
5
6
class Solution {
public:
    int theMaximumAchievableX(int num, int t) {
        return num + t * 2;
    }
};
1
2
3
func theMaximumAchievableX(num int, t int) int {
    return num + t*2
}
1
2
3
function theMaximumAchievableX(num: number, t: number): number {
    return num + t * 2;
}

Comments