如何使用Java找到矩阵的鞍点,它是行中的最高数,同时也是列中的最高数?
例如,使用此矩阵:
\x{e76f}2
1,3,000
5.8
马鞍点是:7和8。
下面是我为在行和列中找到最高数字而编写的代码的一部分。
int NumRow = 3;
int NumCol = 2;
int [] matrix = new int [NumRow][NumCol];
for ( int i = 0; i < NumRow; i++)
{
max = matrix[i][0];
for ( int j = 1; j < NumCol; j++)
{
如果某项ai在行i中最小,在列j中最大,则称N×M矩阵具有鞍点。在下面的示例中,7是鞍点:
1 2 3
a = 4 5 6
7 8 9
函数的复杂度应该是O(n log n)。
所需的函数原型为:
int solution(int **A, int N, int M )
我的代码:
int solution(int **A, int N ,int M)
{
int i=0,j=0,k=0;
int P_row=0,P_col=0, flag=0;
node * matrix= (*A);
for(i=0;i<N;i++)
{
我正在尝试寻找二维数组中的最小值(Java)。
我正在尝试使用for循环。我的目标是创建一个获得矩阵鞍点的程序,但我将一步一步地进行。我已经知道了如何在二维数组的一行中找到最大值。然后我想在与最大值相同的列中找到最小值。
下面是我的代码:
class Matrix_1 {
int[][] A;
int a;
int b;
int max;
int min;
int i;
int d;
Matrix_1() {
super();
}
public int[][] createMatrix(int a, int b) {
我必须编写一个名为saddle的函数,它在输入矩阵M中找到鞍点。对于这个问题,鞍点被定义为其值大于或等于其行中的每个元素,并且小于或等于其列中的每个元素的元素。函数应该返回一个名为indices的矩阵,它正好有两列。每一行indices对应于一个鞍点,其中行的第一个元素包含鞍点的行索引,第二列包含列索引。鞍点按列-大序排列在M中的指数中按相同的顺序提供。如果M中没有鞍点,则索引是空数组。以下是我到现在为止的情况:
% function indices = saddle(M)
% Definition of a test matrix M:
M = [0.8147 0.1270 0.6324