FastPrepFastPrep
Problem Brief

Card Range Obfuscation Part 2 (ML Eng :)

FULLTIMEOA
See Stripe online assessment and hiring insights

🐝 Hi there! The description you are currently reading is just 2nd part of the problem set. It is highly recommended to read ALL THE PARTS before coding as parts may build on top of each other 🐳

  • Card Range Obfuscation Part 1 (ML Eng :) πŸ¦”
  • Card Range Obfuscation Part 2 (ML Eng :) 🐹
  • Card Range Obfuscation Part 3 (ML Eng :) 🦚
  • Card Range Obfuscation Part 4 (ML Eng :) πŸ₯
  • Part 2

    For the second set of testcases, the set of non-overlapping intervals can also contain gaps in between known intervals. In these casds, the interval on the lower end of the gap will be extended to fill the gap. This will be sufficient to solve the next 4 test cases.

    1Example 1

    Input
    BIN = 424242, N = 2, info = [["0000000000", "3700000000", "VISA"], ["6100000000", "9999999999", "MASTERCARD"]]
    Output
    [["4242420000000000", "4242426099999999", "VISA"], ["4242426100000000", "4242429999999999", "MASTERCARD"]]
    Explanation
    Example 1 illustration
    Example 1: the VISA interval was extended on the higher end to fill the gap, up to the Mastercard interval. Note - I double checked the input & output numbers while uploading, but since there are so many digits, I might count them wrong. If you notice anything wrong, pls feel free to lmk. I am more than happy to modify accordingly. Many thanks in advance! You da best!!

    2Example 2

    Input
    BIN = 424242, N = 3, info = [["100000000", "1299999999", "VISA"], ["1900000000", "9999999999", "AMEX"], ["1500000000", "1699999999", "MASTERCARD"]]
    Output
    [["4242420000000000", "4242421499999999", "VISA"], ["4242421500000000", "4242421899999999", "MASTERCARD"], ["4242421900000000", "4242429999999999", "AMEX"]]
    Explanation
    Example 2: the VISA interval was extended on the higher end to fill the gap up to the Mastercard interval. The Mastercard interval is extended on the higher end to fill the gap up to the Amex interval. The VISA interval is extended on the lwoer end following the requirements in Part 1 Note - I double checked the input & output numbers while uploading, but since there are so many digits, I might count them wrong. If you notice anything wrong, pls feel free to lmk. I am more than happy to modify accordingly. Many thanks in advance! You da best!!

    Constraints

    Limits and guarantees your solution can rely on.

    🫢
      public String[][] cardRangeObfuscation2(int BIN, int N, String[][] info) {
        // write your code here
      }
      
    Input

    BIN

    424242

    N

    2

    info

    [["0000000000", "3700000000", "VISA"], ["6100000000", "9999999999", "MASTERCARD"]]

    Output

    [["4242420000000000", "4242426099999999", "VISA", "4242426100000000", "4242429999999999", "MASTERCARD"]]

    Sign in to submit your solution.