304 North Cardinal St.
Dorchester Center, MA 02124

# Largest Number After Digit Swaps by Parity Solution – LeetCode

## Problem Statement: Largest Number After Digit Swaps by Parity Solution

You are given a positive integer `num`. You may swap any two digits of `num` that have the same parity (i.e. both odd digits or both even digits).

Return the largest possible value of `num` after any number of swaps.

Example 1:

```Input: num = 1234
Output: 3412
Explanation: Swap the digit 3 with the digit 1, this results in the number 3214.
Swap the digit 2 with the digit 4, this results in the number 3412.
Note that there may be other sequences of swaps but it can be shown that 3412 is the largest possible number.
Also note that we may not swap the digit 4 with the digit 1 since they are of different parities.```

Example 2:

```Input: num = 65875
Output: 87655
Explanation: Swap the digit 8 with the digit 6, this results in the number 85675.
Swap the first digit 5 with the digit 7, this results in the number 87655.
Note that there may be other sequences of swaps but it can be shown that 87655 is the largest possible number.```

Constraints:

• `1 <= num <= 109`

### Largest Number After Digit Swaps by Parity Solution

``````class Solution {
public:
int largestInteger(int num) {
priority_queue<int> p; // priority queue to store odd digits in descending order
priority_queue<int> q; // priority queue to store even digits in descending order
string nums=to_string(num); // converting num to a string for easy access of the digits
int n=nums.size(); // n stores the number of digits in num

for(int i=0;i<n;i++){
int digit=nums[i]-'0';
if((digit)%2) // if digit is odd, push it into priority queue p
p.push(digit);
else
q.push(digit); // if digit is even, push it into priority queue q
}

for(int i=0; i<n; i++){
if((nums[i]-'0')%2) // if the digit is odd, add the largest odd digit of p into the answer
else
{answer+=q.top();q.pop();} // if the digit is even, add the largest even digit of q into the answer
}
}
};``````

#### Largest Number After Digit Swaps by Parity Solution

##### Largest Number After Digit Swaps by Parity Solution Review:

In our experience, we suggest you solve this Largest Number After Digit Swaps by Parity Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

Largest Number After Digit Swaps by Parity Solution is available on Leetcode for Free, if you are stuck anywhere between compilation, just visit Queslers to get the Largest Number After Digit Swaps by Parity Solution.

##### Conclusion:

I hope this Largest Number After Digit Swaps by Parity Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.

This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.

Keep Learning!

More Hacker Rank Problem & Solutions >>

Staircase Hacker Rank Solution

A Very Big Sum Hacker Rank Solution

Diagonal Difference Hacker Rank Solution

Nested Lists Hacker Rank Solution

Lists Hacker Rank Solution