您认为以下代码可以进一步优化吗?
我正在使用两个for循环,我认为它可以减少到更好的东西。欢迎任何建议。
public ArrayList<Integer> rotateArray(ArrayList<Integer> A, int B) {
ArrayList<Integer> ret = new ArrayList<Integer>();
B = B % A.size();
boolean flag = false;
for (int i = B; i < A.size(); i++) {
ret.add(A.get(i));
}
for (int i = 0; i < B; i++) {
ret.add(A.get(i));
}
return ret;
}
}
答案 0 :(得分:0)
如果你想要一个算法,当然有更好的方法来实现它。想一想:
您将获得一个输入三个参数的函数: 数组, 一个起始指数 和结束指数
然后在反转这些开始和结束索引之间的元素之后返回相同的数组。
类似的东西:
func([1,2,3,4,5],2,4)==&gt; 1,2,5,4,3
您将如何使用此功能来实现所需的输出?