求某个矩阵的鞍点的个数

矩阵Am*n中存在某个元素aij,使得aij是第i行的最小值与第j列的最大值,则称该元素为矩阵A的鞍点


int saddle1(int A[m][n])
{
	int count = 0, i, j, k;
	int rowmin, colmax; // 行最小值与列最大值
	for (i = 0; i < m; i++) {
		for (j = 0; j < n; j++) {
			k = 0;
			while ((k < n) && (A[i][k] >= A[i][j])) // 是否是第i行最小数
				k++;
			if (k < n) 
			{
				rowmin = false;
			}
			else
			{
				rowmin = true;
			}
			if (rowmin == true) // 是i行最小数时继续判断
			{
				k = 0;
				while ((k < m) && (A[k][j] >= A[i][j])) // 是否是第j列最大数
					k++;
				if (k < m) 
				{
					colmax = false;
				}
				else
				{
					colmax = true;
				}
			}
			if (rowmin == true && colmax == true) 
			{
				count++; // 鞍点计数
			}
		}
	}
	return count;
}

int saddle2(int A[m][n])
{
	int count = 0, i, j,k;
	int B[n], C[m]; // 每列最大数和每行最小数
	for (i = 0; i < m; i++) // 求每行的最小数
	{
		C[i] = A[i][0];
		for (j = 1; j < n; j++)
		{
			if (C[i] > A[i][j])
			{
				C[i] = A[i][j];
			}
		}
	}
	for (j = 0; j < n; j++) // 求每列最大数
	{
		B[j] = A[0][j];
		for (i = 1; i < m; i++) {
			if (B[j] < A[i][j])
			{
				B[j] = A[i][j]; 
			}
		}
	}
	// 求所有鞍点
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (C[i] == B[j]) 
			{
				count++;
			}
		}
	}
	return count;
}

相关推荐

  1. 某个矩阵个数

    2024-07-13 09:48:01       21 阅读
  2. 3708. 矩阵 四川大学考研机试题

    2024-07-13 09:48:01       43 阅读
  3. 7-2 二叉树叶子结个数

    2024-07-13 09:48:01       50 阅读
  4. 二叉树第k层结个数--c++【做题记录】

    2024-07-13 09:48:01       25 阅读
  5. C语言 找出一个二维数组中

    2024-07-13 09:48:01       23 阅读
  6. (PTA)

    2024-07-13 09:48:01       43 阅读
  7. 计算(C++)

    2024-07-13 09:48:01       56 阅读
  8. Python 矩阵局部极大值

    2024-07-13 09:48:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 09:48:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 09:48:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 09:48:01       57 阅读
  4. Python语言-面向对象

    2024-07-13 09:48:01       68 阅读

热门阅读

  1. 13 IP层协议-网际控制报文协议ICMP

    2024-07-13 09:48:01       25 阅读
  2. Electron31.x+vite5+vue3 setup客户端Exe聊天系统演示

    2024-07-13 09:48:01       22 阅读
  3. 远程调试Xcode:一键解锁iOS开发新境界

    2024-07-13 09:48:01       27 阅读
  4. oracle 表空间文件迁移

    2024-07-13 09:48:01       26 阅读
  5. xml详解

    xml详解

    2024-07-13 09:48:01      33 阅读
  6. 【软件测试】 1+X中级 自动化测试试题

    2024-07-13 09:48:01       23 阅读
  7. PostgreSQL UPDATE 命令

    2024-07-13 09:48:01       19 阅读
  8. 手撕排序算法:选择排序

    2024-07-13 09:48:01       28 阅读
  9. ABAP中客户部分清账的BAPI的使用方法

    2024-07-13 09:48:01       23 阅读