1401. 圆和矩形是否有重叠
计算矩阵 边界和圆心的最近距离, 计算 x方向的最近点,以及y方向的最近点,然后再拿距离和半径比较就行了
class Solution:
def checkOverlap(self, radius: int, xCenter: int, yCenter: int, x1: int, y1: int, x2: int, y2: int) -> bool:
dx ,dy =0,0
if x1 >xCenter:
dx = x1-xCenter
elif xCenter>x2:
dx = xCenter-x2
else :
dx =0
if y1 >yCenter:
dy = y1 - yCenter
elif yCenter>y2:
dy = yCenter - y2
else :
dy =0
return dx*dx + dy*dy <= radius*radius
1716. 计算力扣银行的钱
数学题 ,等差的等差,先计算完整的7个的和,再计算多余的
class Solution:
def totalMoney(self, n: int) -> int:
lis = [0,1,3,6,10,15,21,28]
return n//7*28+((n//7-1)*(n//7))//2*7+lis[n%7]+(n)%7*(n//7)