你认为下面的代码可以进一步优化吗?
我正在使用两个 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;
}
}
如果你更愿意要求一种算法,当然有更好的方法来实现它。思考:
给你一个函数,它接受输入三个参数:一个数组,起始索引和结束索引
然后在反转这些开始和结束索引之间的元素后返回相同的数组。
像这样:
func([1,2,3,4,5],2,4) ==> 1,2,5,4,3
您将如何使用此功能来实现所需的输出?