FastPrepFind Y Value

Find Y Value

IBM logoIBM● EasyFULLTIMEOA

Problem statement

Given a binary number as a string, x (a binary string), return the binary string of the same length, y, that will produce the maximum value when XORed with x. There is a number of bits that may be set in y called maxSet.

The binary strings will always have bits digits, and leading zeros are fine.

Function

findYValue(bits: int, maxSet: int, x: String) → String

Complete the function findYValue in the editor below.

findYValue has the following parameter(s):

  1. 1. int bits: the length of the binary strings x and y
  2. 2. int maxSet: the number of bits that may be set in y
  3. 3. string x: a binary string

Returns string: the best y value as a binary string

Examples

Example 1

bits = 3maxSet = 1x = "101"return = "010"

First, determine all possible bits = 3 digit binary strings with only maxBits = 1 or fewer bits set: 000, 001, 010, 100. These are the potential y values. Now, XOR each of the y values with x = 101:

  • 000 xor 101 = 101
  • 001 xor 101 = 100
  • 010 xor 101 = 111
  • 100 xor 101 = 001

The third value produces the maximal result, where y = 010. Return the string '010'.

Constraints

  • Unknown for now

More IBM problems

See IBM hiring insights
Saved
public String findYValue(int bits, int maxSet, String x) {
    // write your code here
}
bits3
maxSet1
x"101"
expected"010"
Checking account…