for(int i=0; i<arr.size(); ++i){
oc = Collections.frequency(arr, arr.get(i));
System.out.print(oc + " "+ arr.get(i) +" ");
arr.remove(i);
}
Run Code Online (Sandbox Code Playgroud)
主要思想是输出序列中每个元素出现的次数.例如
1 1 2 3 3 3 10 10
Run Code Online (Sandbox Code Playgroud)
这里的输出是
2 1 1 2 3 3 2 10
Run Code Online (Sandbox Code Playgroud)
它就像两个,一个元素为两个,3个元素为3,2个元素为10.
这是有缺陷的,例如它不适用于这种情况
1 1 1 2 2 1 1 1
Run Code Online (Sandbox Code Playgroud)
怎么了?还有其他算法吗?