相关疑难解决方法(0)

如何在Java中反转int数组?

我试图在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)

这有什么问题?

java arrays idioms idiomatic

224
推荐指数
14
解决办法
51万
查看次数

编译器优化字节码的情况

我曾经在这里评论.

我建议限制应该预先声明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)

当我打印这些课程时, …

java compiler-construction optimization javap

0
推荐指数
1
解决办法
259
查看次数

Java中快速算法反转数组

我编写了代码来反转具有时间复杂度的数组: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)

java algorithm

-1
推荐指数
1
解决办法
1万
查看次数