LC3000 對(duì)角線最長(zhǎng)的矩形的面積
1 題目
給你一個(gè)下標(biāo)從 0 開始的二維整數(shù)數(shù)組 dimensions。
對(duì)于所有下標(biāo) i(0 <= i < dimensions.length),dimensions[i][0] 表示矩形 i 的長(zhǎng)度,而 dimensions[i][1] 表示矩形 i 的寬度。
返回對(duì)角線最 長(zhǎng) 的矩形的 面積 。如果存在多個(gè)對(duì)角線長(zhǎng)度相同的矩形,返回面積最 大 的矩形的面積。
示例 1:
輸入:dimensions = [[9,3],[8,6]]
輸出:48
解釋:
下標(biāo) = 0,長(zhǎng)度 = 9,寬度 = 3。對(duì)角線長(zhǎng)度 = sqrt(9 * 9 + 3 * 3) = sqrt(90) ≈
9.487。
下標(biāo) = 1,長(zhǎng)度 = 8,寬度 = 6。對(duì)角線長(zhǎng)度 = sqrt(8 * 8 + 6 * 6) = sqrt(100) = 10。
因此,下標(biāo)為 1 的矩形對(duì)角線更長(zhǎng),所以返回面積 = 8 * 6 = 48。
示例 2:
輸入:dimensions = [[3,4],[4,3]]
輸出:12
解釋:兩個(gè)矩形的對(duì)角線長(zhǎng)度相同,為 5,所以最大面積 = 12。
提示:
1 <= dimensions.length <= 100dimensions[i].length == 21 <= dimensions[i][0], dimensions[i][1] <= 100
2 解答
class Solution:
def areaOfMaxDiagonal(self, dimensions: List[List[int]]) -> int:
n = len(dimensions)
ans = 0
long = 0
for i in range(0 , n , 1):
long_new =dimensions[i][0]*dimensions[i][0] + dimensions[i][1]*dimensions[i][1]
if long_new > long:
long = max(long_new , long)
ans = dimensions[i][0] * dimensions[i][1]
elif long_new == long :
long = long_new
ans = max(ans , dimensions[i][0] * dimensions[i][1])
return ans

浙公網(wǎng)安備 33010602011771號(hào)