在二维数组中统计某个值出现个数的方法
- 有时会遇到统计某个数组中某个值出现的个数,比如统计一个数组中某个值出现的频率,就可以计算数组的大小,和指定值的总个数。一维数组和二维数组的逻辑一样。本文就以二维数组为例来说明。
- 最近在做芯片测试数据在晶圆中的map分布。逻辑很简单,就是根据芯片某个参数的测试值判断其和上下限之间的关系,给予其在晶圆中不同的颜色表示。最后我想给出每一个颜色块有多少个,和其占总共颜色块的比例。所以,这个场景就是上面的数组统计某个值个数的问题。
代码方法1
要搜素的二维数组:
程序框图如下:
以上程序,需要注意两层循环的索引和移位寄存器。尤其是移位寄存器,很容易被疏忽。
代码方法2
这种方法用了属性节点,效率低。实际测试了方法1勇士0-1ms,方法2用时3000ms。
代码方法3
这种方法是先将符合条件的值,放到一个数组里。再统计数组的大小。其实是方法1的繁琐版本。图中真分支是用的创建数组函数。
要点:以上方法,要注意二维数组在两层循环时的隧道要选择索引,外层的循环是取二维数组的每一行;内层循环是取每一行这个一维数组的每一个元素。还要注意内层和外层循环都要有移位寄存器,这样才能保存每次循环结束后的结果。