编程题汇总5

1. 在培养皿中,一个细胞以p的概率分裂为两个,以1-p的概率死亡。假设培养皿中有一个细胞,问:培养皿中细胞完全消失的概率是多少

设一个细胞完全消失的概率为 x ,则
x=(1p)+px2
上式可解 x
即,一个细胞在培养皿中完全消失的概率为:一个细胞死亡的概率 + 一个细胞分裂的概率 × 两个细胞在培养皿中完全消失的概率。我们认为每个细胞完全消失是独立事件,则 两个细胞在培养皿中完全消失的概率一个细胞在培养皿中完全消失的概率 的平方。

2. 计算IoU (Intersection over Union). 已知两个长方形左上角和右下角坐标,求IoU(两个长方形相交部分面积/两个长方形总面积)

编程题汇总5_第1张图片

# 先计算两个长方形的面积,假设长方形为i和j
# 假设左上角为坐标原点,向右为x增长方法,向下为y增长方向
i = 0
j = 1
area_i = (x2[i]-x1[i])*(y2[i]-y1[i])
area_j = (x2[j]-x2[j])*(y2[j]-y1[j])

# 求相交长方形的长度,左边为x1中较大的值,右边为x2中较小值
# 如果两者不相交,即x2中较小值小于x1中较大值,则取0
insection_x = max(0,min(x2[i],x2[j])-max(x1[i],x1[j]))
# 求相交长方形的长度,上边为y1中较大的值,下边为y2中较小值
# 如果两者不相交,即y2中较小值小于y1中较大值,则取0
insection_y = max(0, min(y2[i],y2[j]- max(y1[i],y1[j]))

insection_area = insection_x*insection_y
IoU = insection_area/(area_i+area_j)

你可能感兴趣的:(编程题)