【发布时间】:2013-10-14 18:23:20
【问题描述】:
目前我有一个大小为 N 的数组。我正在尝试从数组中复制每 X 个字节。
如果数组大小为 10 并且我想要大小为 3 的数组。我将复制前 3 个元素,然后复制下一个 3 和最后一个 1。
目前我正在使用以下算法:
int I = 0;
int sub = bytes.length;
int counter = 0;
for (I = 0; I < bytes.length; ++I) {
if (I % 3 == 0 && I != 0) {
NewArray[counter] = Arrays.copyOfRange(bytes, I - 3, I));
sub -= 3;
++counter;
}
}
NewArray[counter] = Arrays.copyOfRange(bytes, I - sub, I)); //Copy remainder.
有没有更有效或更体面的方式来做我想做的事?这个算法看起来很糟糕=l
任何想法我可以如何改进它或至少一个提示?
【问题讨论】:
标签: java arrays performance algorithm