数不。没有比较的 1 和 0

NEW*_*SER 5 arrays algorithm data-structures

在只有 1 和 0 的数组中,你怎么算数。1s 和 0s 没有比较,然后将其修改为 3s 和 5s 的数组。
我的方法是使用累积数组,使得cumulative[i]=array[i]+cumulative[i-1]。一个数=累积[n]个零数=n-累积[n];这种方法正确吗?或者建议一些其他的方法?我们可以将它转换为 3 和 5 的数组而不进行比较吗?

izo*_*ica 2

你的做法是正确的。我也不认为它可以改进太多 - 毕竟你需要迭代所有数组元素。

  • 那么你可以做一些类似“new_array[i] = old_array[i] * 2 + 3”的事情。请注意,这种方法仅对实践有意义 - 它不会优化任何内容并且会降低可读性 (3认同)