首頁>技術>

題目

給你一個數組 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 個矩形的長度為 li 、寬度為 wi 。

如果存在 k 同時滿足 k <= li 和 k <= wi ,就可以將第 i 個矩形切成邊長為 k 的正方形。

例如,矩形 [4,6] 可以切成邊長最大為 4 的正方形。

設 maxLen 為可以從矩形陣列 rectangles 切分得到的 最大正方形 的邊長。

返回可以切出邊長為 maxLen 的正方形的矩形 數目 。

示例 1:輸入:rectangles = [[5,8],[3,9],[5,12],[16,5]] 輸出:3

解釋:能從每個矩形中切出的最大正方形邊長分別是 [5,3,5,5] 。

最大正方形的邊長為 5 ,可以由 3 個矩形切分得到。

示例 2:輸入:rectangles = [[2,3],[3,7],[4,3],[3,7]] 輸出:3

提示:1 <= rectangles.length <= 1000

rectangles[i].length == 2

1 <= li, wi <= 109

li != wi

解題思路分析

1、遍歷;時間複雜度O(n),空間複雜度O(1)

func countGoodRectangles(rectangles [][]int) int {	res := 0	maxValue := 0	for i := 0; i < len(rectangles); i++ {		minValue := min(rectangles[i][0], rectangles[i][1])		if minValue > maxValue {			res = 1			maxValue = minValue		} else if minValue == maxValue {			res++		}	}	return res}func max(a, b int) int {	if a > b {		return a	}	return b}func min(a, b int) int {	if a > b {		return b	}	return a}
總結

Easy題目,找最大值出現的次數,遍歷即可

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • leetcode842_go_將陣列拆分成斐波那契序列