当前位置: 首页 > news >正文

备案网站内容简介网站内容如何优化

备案网站内容简介,网站内容如何优化,做一个网站一般要多少钱,做设计 素材网站有哪什么是杨氏矩阵? 概念: 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的 eg: 1 2 3 4 5 6 7 8 9 题目: 请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复…

什么是杨氏矩阵?

概念:

有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增

eg:

1 2 3
4 5 6 
7 8 9

题目:

请编写程序在这样的矩阵中查找某个数字是否存在。

要求:时间复杂度小于O(N);

分析:

我们仔细分析,不难发现,对于杨氏矩阵来说,

右上角和左下角的元素是有特点的。

右上角的元素是一行中最大的,一列中最小的。

左下角的元素是一行中最小的,是一列中最大的。

所以我们可以从右上角或者左下角开始查找。

比如:

从右上角开始查找的时候,右上角的元素比我们要查找元素小,我们就可以去掉右上角元素所在的这一行;

右上角的元素比我们要查找的元素大,我们就可以去掉右上角元素所在的这一列。

然后依然找右上角的元素继续和要查找的元素与比较。

这样每一次比较去掉一行或者去掉一列。

这个查找效率是高于遍历数组元素的,所以时间复杂度是小于O(N),也满足题目要求。 

find_k(int arr[3][3], int r, int c,int k)
{int x = 0;int y = c - 1;while (1){if (arr[x][y] < k){arr[x][y] = arr[x++][y];//x++;}else if (arr[x][y] > k){arr[x][y] = arr[x][y--];//y--;}else{printf("找到了,位置为%d,%d", x, y);break;}}
}
int main()
{int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };int k = 7;find_k(arr, 3, 3,k);return 0;
}

优化:传地址过去,可以直接返回到主函数判断

int find_k(int arr[3][3], int *px, int *py, int k)
{int x = 0;int y = *py-1;int flag = 0;while (x <= *px - 1 && y>=0){if (arr[x][y] < k){x++;}else if (arr[x][y] > k){y--;}else{*px = x;*py = y;flag = 1;return 1;}}if (flag == 0)return 0;}
int main()
{int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };int k = 7;int x = 3;int y = 3;int ret =find_k(arr,&x,&y,k);if (ret == 0)printf("找不到了");if(ret ==1)printf("下标为%d,%d", x,y);return 0;
}

http://www.ds6.com.cn/news/47346.html

相关文章:

  • 网站怎么在移动端推广廊坊seo整站优化软件
  • 网站建设中页面源码网站模板免费下载
  • 服装网站页面设计厦门seo新站策划
  • 如何设计网站制作方案项目营销推广策划
  • 国内知名网站建设html网页完整代码作业
  • 动漫建模代做网站百度一下百度seo关键词工具
  • 外贸soho做网站如何制作自己的链接
  • 公司网站建设需要资质武汉网络推广有哪些公司
  • 图片 套网站模板下载 迅雷下载 迅雷下载地址mac日本官网入口
  • wordpress文章摘要显示网站seo优化推广
  • 岳阳市住房和城乡建设局网站百度搜索下载app
  • 建设网站实施条件上海网站推广服务公司
  • 网站安全检测可以检测哪些内容风险信息今日头条国际军事新闻
  • 遵义网站建设公司电话多少电商网站网址
  • 建设银行个人网上银行入口seo技术分享博客
  • 广告牌logo设计制作南阳seo
  • 企业网站是否可以做淘宝客免费关键词挖掘工具
  • 金山网站建设费用台州seo快速排名
  • 商城网站开发需要多少钱网络公司网站建设
  • b2b平台的优缺点网站seo关键词优化
  • 淄博周村学校网站建设报价网站查询平台官网
  • 织梦中英文版网站怎么做企业宣传ppt
  • 大足建网站的外贸seo推广招聘
  • 存量权益登记在哪个网站上做百度云超级会员试用1天
  • 太仓公司网站建设电话推广赚佣金项目
  • 做网站的变成语言哪类最简单如何做网络推广
  • 五个网站页面网站开发公司排行榜
  • 网站推广服务 商务服务客户营销
  • 购物网站开发中查看订单的实现逻辑技能培训机构排名前十
  • 搜搜提交网站入口seo怎么优化排名