鞍点问题
首先来看百度百科鞍点定义:鞍点(Saddle point)在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点。在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。在物理上要广泛一些,指在一个方向是极大值,另一个方向是极小值的点。
鞍点
输入 n和m表示 n*m 的数组,没有则输出 -1
输入
3 3
1 2 3
4 5 6
7 8 9
输出
3
分析:先找到每行元素最大的元素,然后判断是否是列上最小的元素即可。
代码:

1 #include <stdio.h> 2 3 int data[505][505]; 4 5 int main() 6 { 7 int n, m; 8 scanf("%d%d", &n, &m); 9 for (int i = 0; i < n; i++) 10 for (int j = 0; j < m; j++) 11 scanf("%d", &data[i][j]); 12 int count = 0; // 若没找到 输出-1 13 for (int i = 0; i < n; i++) 14 { 15 int maxn = -1, pos = -1, flag = 1; 16 for (int j = 0; j < m; j++) 17 if (data[i][j] > maxn) 18 maxn = data[i][j], pos = j; // 找到第i行最大的元素 19 for (int j = 0; j < n; j++) // 判断是否是列上的最小元素 20 { 21 if (data[j][pos] < maxn) // 列上有比其小的元素 22 { 23 flag = 0; 24 break; 25 } 26 } 27 if (flag) // 是列上最大 28 { 29 count++; 30 printf("%d\n", maxn); 31 } 32 } 33 if (!count) // 未找到 34 printf("-1\n"); 35 return 0; 36 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端