3443. Maximum Manhattan Distance After K Changes
3443. Maximum Manhattan Distance After K Changes
Description
You are given a string s
consisting of the characters 'N'
, 'S'
, 'E'
, and 'W'
, where s[i]
indicates movements in an infinite grid:
'N'
: Move north by 1 unit.'S'
: Move south by 1 unit.'E'
: Move east by 1 unit.'W'
: Move west by 1 unit.
Initially, you are at the origin (0, 0)
. You can change at most k
characters to any of the four directions.
Find the maximum Manhattan distance from the origin that can be achieved at any time while performing the movements in order .
The Manhattan Distance between two cells (xi, yi) and (xj, yj) is |xi - xj| + |yi - yj|.
Example 1:
1 | Input: s = "NWSE", k = 1 |
Explanation:
Change s[2]
from 'S'
to 'N'
. The string s
becomes "NWNE"
.
Movement | Position (x, y) | Manhattan Distance | Maximum |
---|---|---|---|
s[0] == 'N' | (0, 1) | 0 + 1 = 1 | 1 |
s[1] == 'W' | (-1, 1) | 1 + 1 = 2 | 2 |
s[2] == 'N' | (-1, 2) | 1 + 2 = 3 | 3 |
s[3] == 'E' | (0, 2) | 0 + 2 = 2 | 3 |
The maximum Manhattan distance from the origin that can be achieved is 3. Hence, 3 is the output.
Example 2:
1 | Input: s = "NSWWEW", k = 3 |
Explanation:
Change s[1]
from 'S'
to 'N'
, and s[4]
from 'E'
to 'W'
. The string s
becomes "NNWWWW"
.
The maximum Manhattan distance from the origin that can be achieved is 6. Hence, 6 is the output.
Constraints:
1 <= s.length <= 10^5
0 <= k <= s.length
s
consists of only'N'
,'S'
,'E'
, and'W'
.
Hints/Notes
- 2025/02/20 Q1
- greedy
- 0x3Fâs solution
- Weekly Contest 435
Solution
Language: C++
1 | class Solution { |