# Solving Leetcode Interviews in Seconds with AI: Concatenation of Consecutive Binary Numbers


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "1680" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> Given an integer n, return the decimal value of the binary string formed by concatenating the binary representations of 1 to n in order, modulo 109 + 7.   Example 1:  Input: n = 1 Output: 1 Explanation: "1" in binary corresponds to the decimal value 1.   Example 2:  Input: n = 3 Output: 27 Explanation: In binary, 1, 2, and 3 corresponds to "1", "10", and "11". After concatenating them, we have "11011", which corresponds to the decimal value 27.  Example 3:  Input: n = 12 Output: 505379714 Explanation: The concatenation results in "1101110010111011110001001101010111100". The decimal value of that is 118505380540. After modulo 109 + 7, the result is 505379714.    Constraints:  1 <= n <= 105  

	# Explanation
	*   **Iterative Concatenation:** Iterate from 1 to `n`. In each iteration, convert the current number to its binary representation.
*   **Efficient Binary Shift:** Instead of explicitly concatenating strings, simulate the concatenation by left-shifting the current result by the number of bits in the current number's binary representation and then adding the current number.
*   **Modulo Arithmetic:** Apply the modulo operator (10<sup>9</sup> + 7) after each shift and addition to prevent overflow.

*   **Runtime Complexity:** O(n log n), **Storage Complexity:** O(1)

	
	# Code
	```python
	def concatenatedBinary(n):
    MOD = 10**9 + 7
    result = 0
    for i in range(1, n + 1):
        bits = len(bin(i)) - 2  # Number of bits in binary representation of i
        result = ((result << bits) % MOD + i) % MOD
    return result
	```
			
