【算法与数据结构】二维数组中寻找鞍点
来源:互联网 发布:淘宝云客服在哪里 编辑:程序博客网 时间:2024/04/30 05:29
二维数组寻找鞍点算法思想:
1、对二维数组遍历,拿每一行的第一个元素作为比较的元素;
2、如果该元素大于这一行的所有元素,遍历这一元素所在列中的元素并比较;
3、如果该元素小于所有元素,那么就找到了一个鞍点。
C语言实现如下:
#include <stdio.h>#define m 3#define n 3int a[3][3]={{1,1,8},{3,1,7},{1,4,6}};int i,j;int temp1=0,temp2=0;int row,col;int k;int flag;void find(int a[m][n]){ for(i=0;i<m;i++){ for(j=0;j<n;j++){ if(a[i][0]<a[i][j]){//寻找行中最大值 temp1=a[i][j];//将最大值赋给中间变量temp1 row=i;//记录下行号 col=j;//记录下列号 } } for(k=0;k<m;k++){ if(a[k][col]<temp1){ break; }else { if(k==m-1){//结束判断 printf("当前鞍点是:%d\n", a[row][col]); flag++; } } } } if(flag==0){ printf("当前%d行没有鞍点\n",i+1 ); }else { printf("有%d个鞍点\n", flag); }}int main(){ int count=0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ printf("%d\t", a[i][j]); count++; if(count%3==0){ printf("\n"); } } } find(a);}
运行结果:
1 1 8 3 1 7 1 4 6 当前鞍点是:6有1个鞍点
0 0
- 【算法与数据结构】二维数组中寻找鞍点
- 二维数组中寻找鞍点
- 二维数组寻找鞍点
- 寻找一个二维数组鞍点的算法实现
- 寻找矩阵中的鞍点<二维数组>
- 找二维数组鞍点
- 二维数组鞍点问题
- 求二维数组鞍点
- 二维数组的鞍点
- 二维数组的鞍点
- 寻找一个数组中的鞍点
- 求出二维数组中m*n的鞍点
- 求二维数组的鞍点
- 求二维数组的鞍点
- sdut acm 二维数组 鞍点
- 找出二维数组中的鞍点
- 找出二维数组的鞍点
- 求二维数组的鞍点
- D. The Union of k-Segments----扫描线初步
- 文章收藏
- 挖地雷
- BOM 页面尺寸位置等知识点
- 今天非常高兴,解决了一个关于java类转json时有关联对象而且困扰我很久的BUG
- 【算法与数据结构】二维数组中寻找鞍点
- Python爬虫入门四之Urllib库的高级用法
- Oracle JSON 字符串处理实例
- 1002. 写出这个数 (20)
- [POJ3415]公共子串
- css经常需要hack
- java 包的概念
- POJ2352 Stars 树状数组
- Ajax实例讲解与技术原理