diff --git a/leetcode/README.md b/leetcode/README.md index a60fc8e7..9c97b587 100644 --- a/leetcode/README.md +++ b/leetcode/README.md @@ -48,6 +48,7 @@ LeetCode |389|[Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C](./src/389.c)|Easy| |404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/) | [C](./src/404.c)|Easy| |442|[Find All Duplicates in an Array](https://leetcode.com/problems/find-all-duplicates-in-an-array/) | [C](./src/442.c)|Medium| +|461|[Hamming Distance](https://leetcode.com/problems/hamming-distance/) | [C](./src/461.c)|Easy| |509|[Fibonacci Number](https://leetcode.com/problems/fibonacci-number/) | [C](./src/509.c)|Easy| |520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C](./src/520.c)|Easy| |561|[Array Partition I](https://leetcode.com/problems/array-partition-i/) | [C](./src/561.c)|Easy| diff --git a/leetcode/src/461.c b/leetcode/src/461.c new file mode 100644 index 00000000..9f5d839c --- /dev/null +++ b/leetcode/src/461.c @@ -0,0 +1,10 @@ +int hammingDistance(int x, int y){ + int difference = x ^ y; + int TotalBits = sizeof(difference)*8; + int i, distance = 0; + for(i = 0; i < TotalBits; i++) { + if(difference & (UINT32_C(1) << i)) + distance += 1; + } + return distance; +}