Java 可以同时运行两个for循环吗?
我试图得到二维方阵对角元素的差分Java 可以同时运行两个for循环吗?,java,Java,我试图得到二维方阵对角元素的差分 static int diagonalDifference(int[][] arr) { int left=0,right=0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(i==j){ left=left+arr[i][j]; } } } for(int i
static int diagonalDifference(int[][] arr) {
int left=0,right=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j){
left=left+arr[i][j];
}
}
}
for(int i=0,int j=n;i<n;i++,j--){
right=right+arr[i][j];
}
}
静态int对角线差(int[]arr){
int left=0,right=0;
对于(inti=0;i在您开始担心并行运行循环之前,请先考虑编写简单、正确的代码
例如:
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j){
left=left+arr[i][j];
}
}
}
这只会进行n
迭代:不仅代码更简单,而且速度更快
这是低效的;您的另一个循环实际上是错误的:
for(int i=0,int j=n;i<n;i++,j--){
right=right+arr[i][j];
}
只要有一个循环,就不需要尝试使循环同时运行。在开始担心并行运行循环之前,请先考虑编写简单、正确的代码
例如:
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j){
left=left+arr[i][j];
}
}
}
这只会进行n
迭代:不仅代码更简单,而且速度更快
这是低效的;您的另一个循环实际上是错误的:
for(int i=0,int j=n;i<n;i++,j--){
right=right+arr[i][j];
}
由于只有一个循环,因此无需尝试使循环同时运行。欢迎使用堆栈溢出!请查看on。目前,不清楚您到底在问什么。此外,您的代码不可编译,因此提供循环确实有帮助。是的,您可以运行不同的代码(例如循环)同时,您可以在分离的线程中运行它们。但是idk您希望实现什么。欢迎使用堆栈溢出!请查看on。目前,还不清楚您到底在问什么。此外,您的代码没有编译,因此提供一个。是的,您可以运行不同的代码(例如循环)同时-您可以在分离的线程中运行它们来实现这一点。但是idk您希望实现什么呢。