编写一个名为occurrence的算法,给定一个数字A数组,打印A中的所有不同值,然后是其出现次数。
例如,如果A = <28, 1, 0, 1, 0, 3, 4, 0, 0, 3>
,算法应输出以下五行(此处用分号28 1; 1 2; 0 4; 3 2; 4 1
分隔。
该算法可能会修改A
的内容,但可能不会使用任何其他内存。
每个不同的值必须打印一次。
值可以按任何顺序打印。
答案 0 :(得分:2)
可能的解决方案将包含两个步骤:
此解决方案不需要额外的内存,并且具有复杂度O(n * log(n)),因为排序是算法中“最重”的部分