Problem Β· Math

Side Largest Square 🟧

Learn this problem
● MediumMicrosoft logoMicrosoftFULLTIMEOA
See Microsoft hiring insights

Problem statement

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.
  • Function

    sideLargetstSquare(m: int, n: int) β†’ int

    Examples

    Example 1

    m = 8n = 0return = 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.

    Example 2

    m = 4n = 3return = 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:

    Example 3

    m = 0n = 18return = 8
    You need to use sixteen 2 * 2 tiles to create the square. Not that not all the tiles are used.

    Example 4

    m = 13n = 3return = 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
    checking account