Skip to content

Commit d12151e

Browse files
committed
add 492
1 parent 345d6b3 commit d12151e

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

LeetCode/492_javascript.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:
2+
3+
// 1. 你设计的矩形页面必须等于给定的目标面积。
4+
5+
// 2. 宽度 W 不应大于长度 L,换言之,要求 L >= W 。
6+
7+
// 3. 长度 L 和宽度 W 之间的差距应当尽可能小。
8+
// 你需要按顺序输出你设计的页面的长度 L 和宽度 W。
9+
10+
// 示例:
11+
12+
// 输入: 4
13+
// 输出: [2, 2]
14+
// 解释: 目标面积是 4, 所有可能的构造方案有 [1,4], [2,2], [4,1]。
15+
// 但是根据要求2,[1,4] 不符合要求; 根据要求3,[2,2] 比 [4,1] 更能符合要求. 所以输出长度 L 为 2, 宽度 W 为 2。
16+
// 说明:
17+
18+
// 给定的面积不大于 10,000,000 且为正整数。
19+
// 你设计的页面的长度和宽度必须都是正整数。
20+
21+
/**
22+
* @param {number} area
23+
* @return {number[]}
24+
*/
25+
var constructRectangle = function(area) {
26+
for(let L=1; L<=area; L++){
27+
let W = area / L
28+
if(area % L == 0 && area / L <= L){
29+
// L 从1开始 及L从最小开始
30+
// 直接return 无需在判断两者差距尽可能小
31+
return [L,W]
32+
}
33+
}
34+
};
35+
36+
// 简单一点直接开平方
37+
var constructRectangle = function(area) {
38+
let w = Math.floor(Math.sqrt(area));
39+
while (area % w !== 0) {
40+
--w;
41+
}
42+
return [area /w , w];
43+
};

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@
191191
| 475\* | [供暖器](./LeetCode/475_javascript.js) | [Heaters](https://leetcode-cn.com/problems/heaters/) | javascript, | 二分 | eazy |
192192
| 476 | [数字的补数](./LeetCode/476_javascript.js) | [Number Complement](https://leetcode-cn.com/problems/number-complement/) | javascript, | 位运算 | eazy |
193193
| 486\* | [预测赢家](./LeetCode/486_javascript.js) | [Predict The Winner](https://leetcode-cn.com/problems/predict-the-winner/) | javascript, | 动态规划 | medium |
194+
| 492 | [构造矩形](./LeetCode/492_javascript.js) | [Construct The Rectangle](https://leetcode-cn.com/problems/construct-the-rectangle/) | javascript, | | eazy |
194195
| 502\*\* | [IPO](./LeetCode/502_javascript.js) | [IPO](https://leetcode-cn.com/problems/ipo/) | javascript, | 堆(优先队列) | hard |
195196
| 513 | [找树左下角的值](./LeetCode/513_javascript.js) | [Find Bottom Left Tree Value](https://leetcode-cn.com/problems/find-bottom-left-tree-value/) | javascript, | 回溯,递归, BFS | medium |
196197
| 516 | [最长回文子序列](./LeetCode/516_javascript.js) | [Longest Palindromic Subsequence](https://leetcode-cn.com/problems/longest-palindromic-subsequence/) | javascript, | 动态规划 | medium |

0 commit comments

Comments
 (0)