我正在开发一个包含长列表名称的 Web 应用程序。客户最初希望将名称按字母拆分为div
s,以便轻松跳转到列表中的特定名称。
现在,查看列表,客户指出了几个只有一两个名字的字母。他现在想知道,如果每个字母中只有几个名字,我们是否可以组合几个连续的字母。
(请注意,根本不显示没有名称的字母。)
我现在要做的是让数据库服务器返回一个排序列表,然后保留一个包含当前字符的变量。我遍历名称列表,递增字符并在到达每个字母时打印开始和结束div
以及标签。ul
我知道如何调整这段代码来组合一些字母,但是,我不确定如何处理的一件事是特定的字母组合是否是最好的组合。换句话说,假设我有:
A
- 12 个名字B
- 2 个名字C
- 1 个名字D
- 1 个名字E
- 1 个名字F
- 23 个名字
我知道如何与一个团体结束A-C
,然后D
自己拥有。我正在寻找的是一种有效的方式来实现它A
应该单独存在,然后B-D
应该在一起。
我不确定从哪里开始看这个。
如果有任何不同,此代码将在 Kohana 框架模块中使用。
2012 年 4 月 4 日更新:
这是我需要的澄清:
假设我在一个组中想要的最少项目数是 30。现在假设字母 A 有 25 个项目,字母 B、C 和 D 各有 10 个项目,字母 E 有 32 个项目。我想不理会A,因为结合B+C+D会更好。组合它们的简单方法是 A+B、C+D+E——这不是我想要的。
换句话说,我需要最接近每组最小值的最佳拟合。