Hackerrank - Flipping bits Solution

Hackerrank - Flipping bits Solution

You will be given a list of 32 bit unsigned integers. Flip all the bits ( and ) and print the result as an unsigned integer.

For example, your decimal input . We're working with 32 bits, so:

Function Description

Complete the flippingBits function in the editor below. It should return the unsigned decimal integer result.

flippingBits has the following parameter(s):

  • n: an integer

Input Format

The first line of the input contains , the number of queries.
Each of the next  lines contain an integer, , to process.

Constraints

Output Format

Output one line per element from the list with the decimal value of the resulting unsigned integer.

Sample Input 0

3
2147483647
1
0

Sample Output 0

2147483648
4294967294
4294967295

Sample Input 1

2
4
123456

Sample Output 1

4294967291
4294843839

Sample Input 2

3
0
802743475
35601423

Sample Output 2

4294967295
3492223820
4259365872

Solution in Python

def flippingBits(n):
    s = bin(n)[2:]
    t = s.maketrans("01", "10")
    s = s.translate(t)
    s = (32-len(s))*"1"+s
    return int(s,2)

for _ in range(int(input())):
    print(flippingBits(int(input())))

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe