Problem · String
Swap Parity (Data Scientist / Analytics :)
Learn this problemProblem statement
Given a number num, two adjacent digits can be swapped if they have the same parity, meaning both are odd or both are even. For example, (5, 9) have the same parity, but (6, 9) do not.
Find the largest number that can be created. The swap operation can be applied any number of times.
Function
getLargestNumber(num: String) → StringExamples
Example 1
num = "7596801"return = "9758601"Let num = "7596801".
- Swap 5 and 9 -> "7956801"
- Swap 7 and 9 -> "9756801"
- Swap 6 and 8 -> "9758601"
Example 2
num = "0082663"return = "8662003"
The prefix 008266 is one contiguous run of even digits, so it can be reordered into descending order as 866200. The final odd digit 3 cannot cross that even run. Therefore, the largest reachable number is 8662003.
Constraints
- 1 ≤ length of
num≤ 10^5 numconsists of digits 0-9 only.
More JPMorgan Chase problems
- Bitwise XOR SubsequencesOA · Seen Jul 2026
- Array ChallengeOA · Seen Jun 2026
- Minimum Cores to Handle ProcessesOA · Seen Jun 2026
- About ShippingOA · Seen Jun 2026
- Count Dropped RequestsOA · Seen Jan 2026
- Generate Table of ContentsOA · Seen Jan 2026
- Calculate Net ProfitSeen Jun 2025
- Find Total WeightSeen Jun 2025