为了账号安全,请及时绑定邮箱和手机立即绑定

求一个矩形内若干圆的面积占比最大值的算法

求一个矩形内若干圆的面积占比最大值的算法

白衣染霜花 2019-01-27 20:56:26
刚无聊想到一道算法题已知一个矩形的的长宽和圆的个数,求这里面圆的面积占比最大为多少?比如一个10*10的矩形,如果要求圆的个数为一,那么这个圆的直径应该就是10了,如果园的个数为2,那么这两个圆的直径可能一个10,另一个就是大圆的边角了,或者两个直径都是5或者其他,但是需要里面圆占得面积比是最高的,所以两个圆的直径应该是唯一的,同样三个圆四个圆,或者矩形的长宽比为3:2等等,那么里面的圆应该怎样的。函数//h:矩形的高,w:矩形的宽,count:圆的个数function fn(h,w,count) {              }
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

尽可能取半径最大值优先画圆。

以下算法思路有错误,忽略

每个矩形内画一个圆后

  1. 必定有4个角落空间可以继续画圆

  2. 也有可能存在矩形的长-宽的剩余的空间继续画圆(如果是正方形,则此条不存在)

思路是每次画圆后,根据当前的长,宽计算出上面2条可能出现的长,宽,半径,放入优先队列,接着每次取出最大的半径值继续画圆,直到count为0


查看完整回答
反对 回复 2019-01-27
  • 1 回答
  • 0 关注
  • 1049 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号