476. Number Complement Leetcode Solution

Number Complement Leetcode Solution

Difficulty: Easy

Topics: Bit Manipulation

The complement of an integer is the integer you get when you flip all the 0‘s to 1‘s and all the 1‘s to 0‘s in its binary representation.

  • For example, The integer 5 is "101" in binary and its complement is "010" which is the integer 2.

Given an integer num, return its complement.

Example 1:

  • Input: num = 5
  • Output: 2
  • Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

Example 2:

  • Input: num = 1
  • Output: 0
  • Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

Constraints:

  • <code>1 <= num < 231

Note: This question is the same as 1009. Complement of Base 10 Integer

Solution:

We need to flip the bits of the binary representation of a given integer and return the resulting integer.

Steps to solve the problem:

  1. Convert the number to its binary representation.
  2. Flip the bits (i.e., change 0 to 1 and 1 to 0).
  3. Convert the flipped binary string back to an integer.

Let’s implement this solution in PHP: 476. Number Complement

<?php
// Example usage:
$num = 5;
echo findComplement($num); // Output: 2

$num = 1;
echo findComplement($num); // Output: 0
?>

Explanation:

  • decbin($num): Converts the given integer to its binary string representation.
  • Flipping the bits: We iterate through the binary string and flip each bit by checking if it’s a 1 or a 0.
  • bindec($flipped): Converts the flipped binary string back to an integer.

Example Runs:

  1. Input: 5
    • Binary representation: "101"
    • Flipped binary: "010"
    • Output: 2
  2. Input: 1
    • Binary representation: "1"
    • Flipped binary: "0"
    • Output: 0

This solution efficiently calculates the complement by flipping the bits of the binary representation of the given number.

Contact Links

If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks 😍. Your support would mean a lot to me!

If you want more helpful content like this, feel free to follow me:

 

Read More

If you need any support regarding your website

If you like our blog, Please support us to improve

Buy Me a Coffee

Leave a Reply

Your email address will not be published. Required fields are marked *

RECENT POST
Leetcode Solutions

633. Sum of Square Numbers

Sum of Square Numbers Difficulty: Medium Topics: Math, Two Pointers, Binary Search Given a non-negative integer c, decide whether there’re

Leetcode Solutions

624. Maximum Distance in Arrays

Maximum Distance in Arrays Difficulty: Medium Topics: Array, Greedy You are given m arrays, where each array is sorted in