Construct the Rectangle - Maths - Easy - LeetCode
💻 coding

Construct the Rectangle - Maths - Easy - LeetCode

1 min read 259 words
1 min read
ShareWhatsAppPost on X
  • 1To design a rectangular web page, the area must equal the given target area with L >= W.
  • 2The goal is to minimize the difference between length L and width W while adhering to the area constraint.
  • 3The provided solution iterates through possible widths to find the optimal length and width pair.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"To design a rectangular web page, the area must equal the given target area with L >= W."

Construct the Rectangle - Maths - Easy - LeetCode

A web developer needs to know how to design a web page's size. So, given a specific rectangular web page’s area, your job by now is to design a rectangular web page, whose length L and width W satisfy the following requirements:

The area of the rectangular web page you designed must equal to the given target area. The width W should not be larger than the length L, which means L >= W. The difference between length L and width W should be as small as possible. Return an array [L, W] where L and W are the length and width of the web page you designed in sequence.

Example 1:

Input: area = 4 Output: [2,2] Explanation: The target area is 4, and all the possible ways to construct it are [1,4], [2,2], [4,1]. But according to requirement 2, [1,4] is illegal; according to requirement 3, [4,1] is not optimal compared to [2,2]. So the length L is 2, and the width W is 2. Example 2:

Input: area = 37 Output: [37,1] Example 3:

Input: area = 122122 Output: [427,286]

Constraints:

1 <= area <= 107

public class Solution {
 public int[] ConstructRectangle(int area) {
 int min = int.MaxValue;
 var res = new int[2];
 var sqrt = Math.Sqrt(area);
 for(int W = 1;W<=sqrt;W++){
 
 if(area%W!=0){
 continue;
 }
 
 int L = area/W;
 if(min>(L-W)){
 min = L-W;
 res[0]=L;
 res[1]=W;
 }
 }
 
 return res;
 }
}

Time Complexity: O(n*m)

Space Complexity: O(1)

Here n is the input number and m is the time take to compute square root of each number.

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 17 October 2020 · 1 min read · 259 words

Part of AskGif Blog · coding

You might also like

Construct the Rectangle - Maths - Easy - LeetCode | AskGif Blog