刚无聊想到一道算法题
已知一个矩形的的长宽和圆的个数,求这里面圆的面积占比最大为多少?
比如一个10*10的矩形,如果要求圆的个数为一,那么这个圆的直径应该就是10了,如果园的个数为2,那么这两个圆的直径可能一个10,另一个就是大圆的边角了,或者两个直径都是5或者其他,但是需要里面圆占得面积比是最高的,所以两个圆的直径应该是唯一的,同样三个圆四个圆,或者矩形的长宽比为3:2等等,那么里面的圆应该怎样的。
函数
//h:矩形的高,w:矩形的宽,count:圆的个数
function fn(h,w,count) {
}
尽可能取半径最大值优先画圆。
以下算法思路有错误,忽略
每个矩形内画一个圆后
长-宽
的剩余的空间继续画圆(如果是正方形,则此条不存在)思路是每次画圆后,根据当前的
长,宽
计算出上面2条可能出现的长,宽,半径
,放入优先队列
,接着每次取出最大的半径值继续画圆,直到count
为0