我有不同尺寸的小矩形(1cm x 2xm,2cmx3cm,4cm*6cm等).不同类型矩形的数量可根据情况而变化.每种类型的不同矩形可以具有不同数量的计数.
我需要创建一个包含所有这些小矩形的大矩形,这些小矩形只能放在边缘上.没有轮换.理想情况下,最终的外部矩形应该是方形的.X~Y.并非所有边缘都需要填满.较小的矩形之间可能存在间隙.图片示例:http:
//i.stack.imgur.com/GqI5z.png
我正在尝试编写一个代码,找出可以形成的最小可能区域.
我有一个算法循环所有可能的位置,以找出可能的最小区域.但是,随着不同类型矩形的数量和矩形数量的增加,这需要很长的运行时间.即2种类型的矩形,每种都有100 +矩形.8循环.那将是~100 ^ 8次迭代
有关更好和更快算法的任何想法,以计算最小可能区域?代码是在python中,但任何算法概念都可以.
for rectange_1_top_count in (range(0,all_rectangles[1]["count"]+1)):
for rectange_1_bottom_count in range(0,all_rectangles[1]["count"]-rectange_1_top_count+1):
for rectange_1_left_count in (range(0,all_rectangles[1]["count"]-rectange_1_top_count-rectange_1_bottom_count+1)):
for rectange_1_right_count in ([all_rectangles[1]["count"]-rectange_1_top_count-rectange_1_bottom_count-rectange_1_left_count]):
for rectange_2_top_count in (range(0,all_rectangles[2]["count"]+1)):
for rectange_2_bottom_count in (range(0,all_rectangles[2]["count"]-rectange_2_top_count+1)):
for rectange_2_left_count in (range(0,all_rectangles[2]["count"]-rectange_2_bottom_count-rectange_2_top_count+1)):
for rectange_2_right_count in [(all_rectangles[2]["count"]-rectange_2_bottom_count-rectange_2_left_count-rectange_2_top_count)]:
area=calculate_minimum_area()
if area< minimum_area:
minimum_area=area
Run Code Online (Sandbox Code Playgroud) 我有一个 python Flask 应用程序,但我有一些想要重用的旧 php 脚本。
我正在尝试解析我的烧瓶应用程序中的一些数据。访问时需要公司登录密码,因此php中的“curl”实际上不起作用。所以我正在考虑通过 .php 将数据解析到 php 脚本render_template。
是否可以做这样的事情:
data= <some data>
@app.route('/test')
def test():
return render_template('my_php_scripts.php',input_data=data)
Run Code Online (Sandbox Code Playgroud)
在我的 php 脚本中,我这样做:
<?php
$DataString=**{{input_data}}**
?>
Run Code Online (Sandbox Code Playgroud)
如果没有,有什么好的方法呢?