3000. Maximum Area of Longest Diagonal Rectangle ¶ Time: $O(n)$ Space: $O(1)$ C++JavaPython 1 2 3 4 5 6 7 8 9 10 11 12class Solution { public: int areaOfMaxDiagonal(vector<vector<int>>& dimensions) { const vector<int> maxDimension = *ranges::max_element( dimensions, [](const vector<int>& a, const vector<int>& b) { return (a[0] * a[0] + a[1] * a[1] == b[0] * b[0] + b[1] * b[1]) ? (a[0] * a[1] < b[0] * b[1]) : (a[0] * a[0] + a[1] * a[1] < b[0] * b[0] + b[1] * b[1]); }); return maxDimension[0] * maxDimension[1]; } }; 1 2 3 4 5 6 7 8 9 10 11 12class Solution { public int areaOfMaxDiagonal(int[][] dimensions) { int[] maxDimension = Arrays.stream(dimensions) .max((a, b) -> a[0] * a[0] + a[1] * a[1] == b[0] * b[0] + b[1] * b[1] ? Integer.compare(a[0] * a[1], b[0] * b[1]) : Integer.compare(a[0] * a[0] + a[1] * a[1], b[0] * b[0] + b[1] * b[1])) .orElseThrow(); return maxDimension[0] * maxDimension[1]; } } 1 2 3 4class Solution: def areaOfMaxDiagonal(self, dimensions: list[list[int]]) -> int: a, b = max(dimensions, key=lambda x: (x[0]**2 + x[1]**2, x[0] * x[1])) return a * b