# Daily Coding Challenge #56

Wing-Kam ・2 min read

Daily Coding Challenge (87 Part Series)

This is a series of Daily Coding Challenge. Each day I show a few solutions written in C++. The questions are from coding practice/contest sites such as HackerRank, LeetCode, Codeforces, Atcoder and etc.

/*
LeetCode - Hamming Distance

Solution
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ x, y < 231.

Example:

Input: x = 1, y = 4

Output: 2

Explanation:
1   (0 0 0 1)
4   (0 1 0 0)
↑   ↑

The above arrows point to positions where the corresponding bits are different.
*/

class Solution {
public:
int hammingDistance(int x, int y) {
// x:0001
// y:0100
// k:0101
int k = x^y;
int ans=0;
while(k){
// count 1
ans+=k&1;
// shift one bit to the right
k>>=1;
}
return ans;
}
};
static const auto io_sync_off = []() {std::ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);return 0;}();


/*
LeetCode - Plus One

Given a non-empty array of digits representing a non-negative integer, plus one to the integer.

The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.

You may assume the integer does not contain any leading zero, except the number 0 itself.

Example 1:

Input: [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123.
Example 2:

Input: [4,3,2,1]
Output: [4,3,2,2]
Explanation: The array represents the integer 4321.

*/

class Solution {
public:
vector<int> plusOne(vector<int>& d) {
int n=(int)d.size();
int c=1;
for(int i=n-1;i>=0;i--){
if(d[i]!=9){
// if the digit is not 9, simply add 1
d[i]+=1;
return d;
}

if(i==0&&d[i]==9) {
// if it s the first digit, we need append 1
d[i]=0;
d.insert(d.begin(),1);
} else {
// if not, set it to 0
d[i]=0;
}
}
return d;
}
};


The source code is available in corresponding repo below. Star and watch for timely updates!

## wingkwong / atcoder

### 🏆 A Collection of my AtCoder Solutions with Explanations 🏆

Daily Coding Challenge (87 Part Series)

Posted on by:

### Wing-Kam

Consultant by day. Developer by night. AWS certified. Exploring #CloudNative currently.