Given a number n, the task is to generate a random binary string of length n.
Examples:
Input: 7 Output: Desired length of random binary string is: 1000001 Input: 5 Output: Desired length of random binary string is: 01001
Approach
- Initialize an empty string, say key
- Generate a randomly either “0” or “1” using randint function from random package.
- Append the randomly generated “0” or “1” to the string, key
- Repeat step 2 and 3 for the desired length of the string
Below is the implementation.
Python3
# Python program for random # binary string generation import random # Function to create the # random binary string def rand_key(p): # Variable to store the # string key1 = "" # Loop to find the string # of desired length for i in range (p): # randint function to generate # 0, 1 randomly and converting # the result into str temp = str (random.randint( 0 , 1 )) # Concatenation the random 0, 1 # to the final result key1 + = temp return (key1) # Driver Code n = 7 str1 = rand_key(n) print ( "Desired length random binary string is: " , str1) |
Output:
Desired length random binary string is: 1000001
The Time and Space Complexity for all the methods are the same:
Time Complexity: O(n)
Auxiliary Space: O(n)
Using random.getrandbits():
Python3
import random def generate_binary_string(n): # Generate a random number with n bits number = random.getrandbits(n) # Convert the number to binary binary_string = format (number, '0b' ) return binary_string # Test the function n = 7 print ( "Random binary string of length {}: {}" . format (n, generate_binary_string(n))) #This code is contributed by Edula Vinay Kumar Reddy |
Random binary string of length 7: 1010000
Explanation:
The random.getrandbits(n) function generates a random number with n bits.
The format() function is used to convert the number to binary format. The format string ‘0b’ specifies that the output should be in binary form.
Time Complexity: O(n), where n is the number of bits in the binary string.
Auxiliary Space: O(n), where n is the number of bits in the binary string. This is the space required to store the binary string.