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

热点内容
java表示二进制 浏览:392
数控铣床外轮廓编程 浏览:88
pdftomp4 浏览:819
基于单片机的直流电机控制系统设计 浏览:877
微信程序APP怎怎么注册 浏览:120
java日历课程设计 浏览:453
pythonrequests假死 浏览:868
原生安卓怎么用nfc模拟卡 浏览:954
施耐德串口服务器是什么 浏览:501
小程序模板不给源码靠谱吗 浏览:979
程序员喷苹果 浏览:492
手机里面照片文件夹字母怎么写的 浏览:256
php中实现翻译功能用哪个函数 浏览:505
病毒加密文件恢复 浏览:118
无线路由如何设置成服务器 浏览:138
QQ飞车源码更新 浏览:899
虚拟机中编译器 浏览:476
台达PLC编译按钮在哪里 浏览:141
非编程计算器多少钱 浏览:655
房本还完贷款解压 浏览:818