我试图在Java中反转一个int数组.
此方法不会反转数组.
for(int i = 0; i < validData.length; i++)
{
int temp = validData[i];
validData[i] = validData[validData.length - i - 1];
validData[validData.length - i - 1] = temp;
}
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
我建议限制应该预先声明a.length / 2.一个人告诉他,他相信编译器无论如何都会增强它
所以我试过了.
public class Loop1 {
public static void main(final String[] args) {
final String[] a = {};
for (int i = 0; i < a.length / 2; i++) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
public class Loop2 {
public static void main(final String[] args) {
final String[] a = {};
final int l = a.length / 2;
for (int i = 0; i < l; i++) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我打印这些课程时, …
我编写了代码来反转具有时间复杂度的数组:O(n).
有更快的方法吗?
我的代码:
void reverseArray(int arr[], int start, int end){
int temp;
if(start >= end)
return;
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
reverseArray(arr, start+1, end-1);
}
Run Code Online (Sandbox Code Playgroud)