给定一个无符号整数数组,每个元素表示一个点,数组元素的索引作为直角坐标系的x坐标,元素作为y坐标,任意两个点:
x轴方向的距离作为长方形的长,y轴方向的最小值作为长方形的宽,找到两个点使长方形面积最大,输出面积。
例如 [4,1,2,7]代表4个点(0,4),(1,1),(2,2),(3,7),点(0,4),(1,1)表示的长方形:
长=(1-0),宽=min(4,1),面积=长*宽=1
function cfx(node) {
node = node.replace("[", "").replace("]", "").split(",");
let nums = [], max = 0;
for (let i = 0; i < node.length; i++) {
nums.push({
x: i,
y: parseInt(node[i])
})
}
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
let c = nums[j].x - nums[i].x;
let w = getMin(nums[i].y, nums[j].y);
max = Math.max(max, c * w)
}
}
function getMin(a, b) {
return a < b ? a : b;
}
return max
}