导航:首页 > 编程语言 > python如何按条件分配填充

python如何按条件分配填充

发布时间:2024-11-01 12:49:15

python 如何将长度不同的字符串尽量均匀地分配到N个文件中每一行的字符串作为整体,不能打散。

背包问题的一个变种。或者说是一维装箱算法

你将每一行字符串想象为一个物品,字符串的长度就是这个物品的大小。每个文件相当于不同的箱子,箱子的大小是固定的,装入的物品体积之和不能超过箱子的总容量。

问题就是:如何使用尽可能少的箱子来装入所有的物品,或者:如果使尽可能多的箱子空间利用率更高,以及类似的相关问题。

这类问题的答案不是一个简单的数字,它需要给出一个策略:物品1...n分别装入箱子1...m(m<=n).

对于二维装箱或三维等,区别主要在于解法的复杂度,但一个解法一般来说其思路是可以从一维扩展到二维或者三维的。


这类问题目前来说,没有全局最优解(即,没有一个算法能确保在所有情况下均能得到最好的结果),但可以得到局部最优解。算法有多种,如最常见的贪心算法,或动态规划。

贪心算法的思路比较简单:把所有的物品从大到小排好序,拿一个箱子,尝试装入最大的物品,如果不能装入,就尝试装入小一些的物品,如此循环,直到所有物品装入所有箱子。

算法很简单,但很多时候得到的结果并不理想。

❷ python中的for i in range怎么用

❸ python怎么将列表中元素分配成三份(无需连续),列举出所有的方案

挡板+枚举法如何
比如5个元素分成3份,实际上就是从4个空隙里面选两个插进去板子就行了
对于x各元素,也就是对1~x-1进行枚举两个数i和j(i!=j)二重循环搞定
取的时候用列表切片就好
比如l1=l[:i], l2=l[i:j], l3=l[j:]酱紫

阅读全文

与python如何按条件分配填充相关的资料

热点内容
按键精灵自定义图层命令 浏览:351
魅蓝3手机音视频文件夹 浏览:943
安卓手机制表怎么换行 浏览:213
墙柱搭接箍筋怎么加密 浏览:454
怎么加密不让人打开 浏览:334
2g3g算法 浏览:204
python可以在net开发 浏览:932
编程里的hr啥意思 浏览:409
上海php兼职 浏览:728
顺丰app如何验证学生 浏览:380
服务器mac地址过滤器 浏览:942
程序员一年内被开除 浏览:456
福建文档课件加密企业 浏览:790
appstore美国的界面怎么看呀 浏览:533
hlt单片机 浏览:325
CA的命令 浏览:685
安卓怎么传王者应用给苹果 浏览:922
aws云服务器自建 浏览:840
如何更换服务器登录网站 浏览:700
java修改ip地址 浏览:838