求2个零值之间的数的和
问题是:数组0132024210234101420...通过循环不断求出2个零值之间的数的和例如01320,得出6,不知道大家有没很简单的算法! 有,把0当作分隔符,分成N/4个1D数组,然后对1D数组求和就可以了。 不是太明白,用什么函数呢? 0与0之间数的位数确定么,确定就直接取直接算
没确定,就转化成字符串,判断0的位置,然后再计算 对每个数值进行判断,如果=0,将当前的和输入数组,如果<>0,继续算求和。个人感觉这样逻辑简单些。
本帖最后由 labc 于 2009-5-26 19:39 编辑
请看:
LV 8.x版, 需要安装OpenG的工具包, 用于删掉数组里的重复元素.
Labc thanks! 从算法的时空性能上分析,我个人认为,5#的算法是最好的。甚至比我想到的都要好。 但是5楼的缺点是如果第一个数是0的话,输出数组上也会出现0,而实际是不需要的,我只想让相邻0之间的数的和输出,比如说013203450,输出应该是6 12!但5楼的算法的确让你眼前一亮!呵呵 那不很简单么?把数组第一个数剔除就可以了 5楼的方法修正一下就行了...
2种方法, 思路各不相同哈.
Labc
页:
[1]