算法来自日常工作

越来越觉得工作中能够用到经典的算法,或者说,经典的算法并不是古代的程序员/数学家拍脑袋想出来的,而是真的需要,才称为经典算法。

比如以前做一个消息分类,分类算法其实就是diff命令,也就是最小公共子串问题。
只是相关的几片论文到今天还没看完。。。

最近写VBA从Excle抽数据给前端,有一个事例非常类似寻找众数的过程。
什么是寻找众数?在像程序员一样思考有探讨:对数列[2,3,2,4,5,4,3,2,3,4,3]中找到最多的数以及它出现了多少次。
做法是先排序,再计数。
而我们工作中的需求是,把Excle中,同一个公司的条目都放到一起,用json格式输出,也就是输入可能是这样的:

公司1,222
公司2,444
公司3, 66
公司1,  3
公司3,666
公司2, 88
公司3,  9

同样,我们的做法也是先排序,然后计数,找到一个公司的所有条目,再合并到一起输出。
最终输出大概是这样的结构:

公司1:[222,3]
公司2:[444,88]
公司3:[66,666,9]

中间为了找一个公司的起始行和结束行,用的循环有点多。