Problem Β· Math

Side Largest Square 🟧

● MediumMicrosoftFULLTIMEOA
See Microsoft hiring insights

You have m square tiles of size 1 * 1 and n square tiles of size 2 * 2. Your task is to create the largest possible square using these tiles. Tiles may not overlap, and the resulting square should be filled (it should not contain empty spaces).

Let's now write a func called sideLargetstSquare(int m, int n) in the editor πŸ‘‰

Task of your func:

  • Find the len of the side of the largest square you can create. If no square can be created, func should return 0.
  • Examples
    01 Β· Example 1
    m = 8
    n = 0
    return = 2
    You can use four out of eight tiles to arrange them into 2 * 2 square. There are not enough tiles to create 3 * 3 square.
    02 Β· Example 2
    m = 4
    n = 3
    return = 4
    Example 2 illustration
    You can obtain 4 * 4 square by arranging four 1 * 1 tiles into a 2 * 2 square, and surrounding it by 2 * 2 tiles:
    03 Β· Example 3
    m = 0
    n = 18
    return = 8
    You need to use sixteen 2 * 2 tiles to create the square. Not that not all the tiles are used.
    04 Β· Example 4
    m = 13
    n = 3
    return = 5
    Example 4 illustration
    One of the possible arrangements is shown in the following image:
    Constraints
  • 1 <= m, n <= 1,000,000,000
  • More Microsoft problems
    drafts saved locally
    public int sideLargetstSquare(int m, int n) {
      // write your code here
    }
    
    m8
    n0
    expected2
    sign in to submit