对于scala 2.x中的一个Int数组,Array [Int] .max的BigO表达式是什么? 然后Array [Int] .indexWhere(_ == max)的表达式是什么?
答案 0 :(得分:1)
除非实现得很差,否则任何void findRowWithMinimalSum(int row, int col, int A[row][col]){
int i,j,sum,minSum,position;
for(i=0; i<row; i++){
printf("\nGive the elements of row %d:\n", i+1);
for(j=0; j<col; j++)
scanf("%d", &A[i][j]);
}
for(i=0; i<row; i++){
for(j=0; j<col; j++)
printf("%d", A[i][j]);
printf("\n");
}
for(i=0; i<row; i++){
sum=0;
for(j=0; j<col; j++){
sum = sum + A[i][j];
}
if(sum<minSum){
minSum = sum;
position = i;
}
}
printf("\nThe row with minimal sum is %d whose sum is %d", position+1, minSum);
}
int main(){
int row, column, m[50][50];
//function call
findRowWithMinimalSum(3,3,m);
return 0;
}
运算符都将是max
。您必须检查每个值一次(因此不得少于O(n)
),如果检查任何值不止一次,则操作不正确。
答案 1 :(得分:0)
关于时间复杂度或BigO表达式,它们都是O(n)。因为它是一个数组,所以需要遍历整个数组以找到最大值或找到给定数字的位置。