algorithm - 有点平铺

标签 algorithm language-agnostic optimization

我刚刚写完一个小脚本,将很多png图片组合成 CSS Sprite 的一个更大的。

基本上,我有一个维度列表 [(w1,h2), ..., (wn,hn)] 我需要将它们放入尺寸为 (W,H) 的框架中,其中 WH 为 尽可能小。 (当然不能重叠)

我使用的启发式显然不是最佳的。我想知道 您对这个主题有什么想法吗? 您是否认为有一些更聪明的约束,例如将图像分组 类似的直方图会使 png 变小?

最佳答案

从你提出问题的方式来看,你想要优化的是图片的尺寸还是PNG文件的大小并不明显,因为图片直方图不会影响它们的尺寸(宽度和高度)。

但是,找到最小 K 使得 max(W, H) < K,以便所有图片都可以放入 W 宽和 H 高的矩形区域中,这是一个 NP 完全问题,这意味着它一般情况下很难很好解决。例如,参见here .

关于algorithm - 有点平铺,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642901/

相关文章:

algorithm - 在 Flex 中验证我们邮政编码的最有效方法

java - 在二维图中找到最接近给定点的坐标的算法

algorithm - 有什么方法可以不使用循环来计算 1.01^x,仅使用整数 add、mul、sub、div、exp?

language-agnostic - 依赖编程语言的默认功能是否明智?

ios - 如何使用 UIImagePickerController 呈现 ViewController

java - Matcher.appendEvaluated() 上出现 NullPointerException?

string - Levenshtein 编辑距离和不同的编辑集

multithreading - 术语 "thread-safe"是什么意思?

带有自定义适配器的 Android ListView 有视觉故障

algorithm - 关于比特总数计数算法的问题