Problem Statement
Choose one of the bits in memory, and choose a value - 0 or 1. All the bits between the selected bit and the last bit in memory, inclusive, will be set to the chosen value. For example, if the memory is "0010", and you choose the second bit and a value of 1, the memory will change to "0111".
You are given a
Definition
- Class:
- StrangeComputer
- Method:
- setMemory
- Parameters:
- String
- Returns:
- int
- Method signature:
- int setMemory(String mem)
- (be sure your method is public)
Constraints
- mem will contain between 1 and 50 characters, inclusive.
- mem will contain only the characters '0' (zero) or '1' (one).
Examples
"0011"
Returns: 1
Choose the third bit and a value of 1.
"000"
Returns: 0
No operations are needed.
"0100"
Returns: 2
0000 -> 0111 -> 0100
"111000111"
Returns: 3
"0"
Returns: 0
"1"
Returns: 1
"00"
Returns: 0
"11"
Returns: 1
"01"
Returns: 1
"10"
Returns: 2
"00000000000000000000000000000000000000000000000000"
Returns: 0
"10000000000000000000000000000000000000000000000000"
Returns: 2
"00000000000000000000000000000000000000000000000001"
Returns: 1
"10101010101010101010101010101010101010101010101010"
Returns: 50
"01010101010101010101010101010101010101010101010101"
Returns: 49
"01010101010101010101010101010101010101010101010111"
Returns: 47
"11111111111111111111111111111111111111111111111111"
Returns: 1
"11111111111111111111111111111111111111111111111110"
Returns: 2
"01111111111111111111111111111111111111111111111111"
Returns: 1
"01111001101011000001011000111100011101011110100101"
Returns: 25
"10010001110101011101010100101000001101000010000110"
Returns: 30
"01110100010011101011111111110110101100101110001010"
Returns: 26
"0101111000101000001011111001101101011111001101001"
Returns: 25
"100000001110010101010011001000111001001100001011"
Returns: 25
"001000001000001000001100111101001111011100100"
Returns: 18
"00000011010100011000101101111101101101000000101"
Returns: 23
"00000110100010000111001001110010010111101100100000"
Returns: 22
"000100000010111000100100011011111001001011"
Returns: 19
"00100010000011110010110111010110110111110011110011"
Returns: 23
"1000110010011111010110000100100000000001001"
Returns: 19
"101111000100010110110110000001001111101110111110"
Returns: 22
"01101001001111001111100111000011111011111100001100"
Returns: 18
"11000001000111000111101110000111011011"
Returns: 15
"01010100010100101100111010100010111111011001011000"
Returns: 30
"11111101100110111010110110010010001100"
Returns: 20
"100100011001010100100010000100110100001111110"
Returns: 24
"01111110010000010010111000011001110010111"
Returns: 17
"10011010001110111010111010001100101101"
Returns: 23
"0110011100101001101001000001011000011001010110110"
Returns: 28
"1011101111001000110010111110011"
Returns: 15
"0001010000010110010111010110101111010010000"
Returns: 24
"11011010011011101010010011111"
Returns: 17
"10000101000111001000001010001"
Returns: 15
"11011011110101111011110001101010111010001000"
Returns: 24
"1101010111100110110010010010011101101110011"
Returns: 25
"00110101100001010000110010111"
Returns: 15
"01011001111011100001010101111011"
Returns: 17
"10000111011011011110000111010110"
Returns: 16
"101111110101010100111100101111001"
Returns: 19
"1011110100000101010"
Returns: 12
"000111010111100111"
Returns: 7
"1111100101101110000"
Returns: 8
"01101000110111001011010101011010"
Returns: 22
"001001001111110010000"
Returns: 8
"011100000101110111000"
Returns: 8
"11001001110100111"
Returns: 9
"01010011111011111010111"
Returns: 11
"01110000000001"
Returns: 3
"1011000100101010000110110111"
Returns: 17
"0101001100111101"
Returns: 9
"1101011110001110000011"
Returns: 9
"1011100110000110010"
Returns: 10
"000000101000101000010"
Returns: 10
"1010000110111110100"
Returns: 10
"01100100000101011000011"
Returns: 11
"0011000110111110111111"
Returns: 7
"0101010111101110"
Returns: 10
"110001011010110"
Returns: 10
"01110011110001110"
Returns: 6
"1010101001010101010101010100111111"
Returns: 27
"10101010"
Returns: 8
"111"
Returns: 1
"0001"
Returns: 1
"0000"
Returns: 0