导航:首页 > 编程语言 > 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如何按条件分配填充相关的资料

热点内容
顺序表查找算法 浏览:463
整合包解压后是乱码 浏览:300
xp系统如何查找服务器名 浏览:983
土的压缩系数的确定方法 浏览:647
程序员家里健身 浏览:620
电视看篮球app哪个好 浏览:47
高中毕业当程序员 浏览:245
php标签属性大全 浏览:897
远程访问服务器ip地址 浏览:312
程序员吃鸡蛋炒菜 浏览:173
在哪里看俄罗斯电视剧app 浏览:308
怎么找数据库服务器地址 浏览:487
服务器调试怎么翻译 浏览:921
php如何处理ajax请求 浏览:211
php数组下标存在 浏览:707
php获取ip归属地 浏览:175
撩女程序员怎么办 浏览:508
百度服务器做什么 浏览:193
打开软件加速服务器有什么危害 浏览:87
php去除数组下标 浏览:794