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

物流公司网站建设有什么要点东莞网站制作公司联系方式

物流公司网站建设有什么要点,东莞网站制作公司联系方式,上海 建设工程质量监督站网站,wordpress 添加链接地址Every day a Leetcode 题目来源:2661. 找出叠涂元素 解法1:哈希 题目很绕,理解题意后就很简单。 由于矩阵 mat 中每一个元素都不同,并且都在数组 arr 中,所以首先我们用一个哈希表 hash 来存储 mat 中每一个元素的…

Every day a Leetcode

题目来源:2661. 找出叠涂元素

解法1:哈希

题目很绕,理解题意后就很简单。

由于矩阵 mat 中每一个元素都不同,并且都在数组 arr 中,所以首先我们用一个哈希表 hash 来存储 mat 中每一个元素的位置信息(即行列信息)。然后用一个长度为 m 的数组来表示每一行中已经被涂色的个数,用一个长度为 n 的数组来表示每一列中已经被涂色的个数。其中若出现某一行 i 出现 rowsCount[i]=n 或者某一列 j 出现 colsCount[j]=m,则表示第 i 行或者第 j 列都被涂色。

算法:

  1. 特判。
  2. mat 的行数为 m,列数为 n。
  3. 建立一个哈希表 unordered_map<int, pair<int, int>> hash,其中 keymat 中整数值,value 是一个 pair<int, int>,存储的是 matkey 值的横坐标、纵坐标。
  4. 遍历 mat,其中 key = mat[i][j]pair<int, int> value(i, j),插入哈希表 hash 中。
  5. 用一个长度为 m 的数组 rowsCount 来表示每一行中已经被涂色的个数,用一个长度为 n 的数组 colsCount 来表示每一列中已经被涂色的个数
  6. 遍历数组 arr,设下标为 i,找到 arr[i]mat 中的横纵坐标:row = hash[arr[i]].firstcol = hash[arr[i]].second,计数数组对应的行列自增 1,如果发现 rowsCount[row] = n,说明第 row 行的 n 个单元格都被涂上色,返回此时的下标 i;同理,如果发现 colsCount[col] = m,说明第 col 列的 m 个单元格都被涂上色,返回此时的下标 i

代码:

/** @lc app=leetcode.cn id=2661 lang=cpp** [2661] 找出叠涂元素*/// @lc code=start
class Solution
{
public:int firstCompleteIndex(vector<int> &arr, vector<vector<int>> &mat){if (arr.empty() || mat.empty())return -1;int m = mat.size(), n = m ? mat[0].size() : 0;unordered_map<int, pair<int, int>> hash; // <整数,pair<横坐标,纵坐标>>for (int i = 0; i < m; i++)for (int j = 0; j < n; j++){int key = mat[i][j];pair<int, int> value(i, j);hash[key] = value;}vector<int> rowsCount(m, 0), colsCount(n, 0);for (int i = 0; i < arr.size(); i++){int row = hash[arr[i]].first, col = hash[arr[i]].second;rowsCount[row]++;if (rowsCount[row] == n)return i;colsCount[col]++;if (colsCount[col] == m)return i;}return -1;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(m*n),其中 m 和 n 分别是二维数组 mat 的行数和列数。主要为用哈希表存储矩阵 mat 中每一个元素对应行列序号的时间开销。

空间复杂度:O(m*n),其中 m 和 n 分别是二维数组 mat 的行数和列数。主要为用哈希表存储矩阵 mat 中每一个元素对应行列序号的空间开销。

http://www.dt0577.cn/news/46067.html

相关文章:

  • 做外贸网站卖什么好百度竞价怎么操作
  • 漂亮的html页面源码陕西seo优化
  • 大连科技学院官方网站的建设与放百度竞价推广开户费用
  • 建网站做站长怎么赚钱百度竞价排名案例分析
  • 最靠谱的网站建设seo网络推广技术员招聘
  • 网站banner用什么做谁有恶意点击软件
  • 河南做网站公司报价网站推广优化招聘
  • 哪些网站做外链百度seo报价
  • wordpress主题资源分享优化技术基础
  • 惠州城市建设建筑网站百度怎么发广告
  • 电信网站备案委托书百度竞价和优化的区别
  • 怎样建立自己的个人网站国际新闻
  • 做网站及小程序需要会哪些技能网站做seo教程
  • 网站里面的图片做桌面不清晰百度网站流量查询
  • 网站建设方案如何写百度seo不正当竞争秒收
  • 万家建设有限公司网站对seo的理解
  • wordpress两个站合并seo排名哪家正规
  • wordpress 自动 图片青岛关键词优化平台
  • 深圳公司网站设成免费的crm
  • 旅游网站建设目标分析百度搜索关键词技巧
  • 江西网站建设销售电话设计外包网站
  • 网站开发href使用本地链接浙江网站建设平台
  • 给企业做网站如何定价最新消息
  • php钓鱼网站怎么做视频教程河南专业网络推广公司
  • 网站开发实用技术第2版建站快车
  • 长治网站运营搜索引擎营销的基本流程
  • 珠海市住房建设局网站网站诊断分析
  • 网站怎么设计潍坊网站定制模板建站
  • 网站怎么做成app百度榜
  • 免费做app网站网站排名优化的技巧