力扣1725. 可以形成最大正方形的矩形数目(#Day28)
2023-02-18 16:23:55 时间
力扣1725. 可以形成最大正方形的矩形数目
本题的实现思路:在一次遍历中首先找到每个矩形中长和宽较短的为正方形的边长,维护一个最大边长的变量max_len,如果等于最大边长,最终计数结果加1;如果大于当前最大边长,更新最大边长即可。
from typing import List
def countGoodRectangles(rectangles: List[List[int]]) -> int:
max_len = 0
res = 0
for length, weight in rectangles:
k = min(length, weight) # 取每一组长宽中较小的值
if k == max_len: # 等于当前最大的边长,结果加一
res += 1
elif k > max_len: # 大于当前最大边长,更新最大边长
res = 1
max_len = k
return res
rectangles = [[2, 3], [3, 7], [4, 3], [3, 7]]
print(countGoodRectangles(rectangles)) # 3
END
相关文章
- Java中运算符 "|" 和 "||" 以及 "&" 和 "&&" 区别
- Calendar.HOUR 引发的问题
- RxJava 之 create操作符 源码解析
- Rxjava之from系列操作符源码解析
- RxJava之创建操作符源码介绍
- RxJava之timer和interval操作符源码解析
- Java中的12个原子操作类
- Java中的并发工具类
- Java中的线程池
- Executor框架
- RxJava之Schedulers源码介绍
- RxJava subscribeOn和observeOn源码介绍
- Flowable subscribe流程介绍
- RxJava之转换操作符源码介绍
- RxJava之concatMap系列转换操作符源码介绍
- Java并发编程基础
- Java内存模型
- Java并发机制的底层实现原理
- Java中的锁的使用和实现介绍
- Observable subscribe流程介绍