国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

門店管理系統(tǒng)有哪些寧波免費(fèi)seo在線優(yōu)化

門店管理系統(tǒng)有哪些,寧波免費(fèi)seo在線優(yōu)化,效果圖網(wǎng)站建設(shè),私人路由器做網(wǎng)站Every day a Leetcode 題目來源:2661. 找出疊涂元素 解法1:哈希 題目很繞,理解題意后就很簡單。 由于矩陣 mat 中每一個元素都不同,并且都在數(shù)組 arr 中,所以首先我們用一個哈希表 hash 來存儲 mat 中每一個元素的…

Every day a Leetcode

題目來源:2661. 找出疊涂元素

解法1:哈希

題目很繞,理解題意后就很簡單。

由于矩陣 mat 中每一個元素都不同,并且都在數(shù)組 arr 中,所以首先我們用一個哈希表 hash 來存儲 mat 中每一個元素的位置信息(即行列信息)。然后用一個長度為 m 的數(shù)組來表示每一行中已經(jīng)被涂色的個數(shù),用一個長度為 n 的數(shù)組來表示每一列中已經(jīng)被涂色的個數(shù)。其中若出現(xiàn)某一行 i 出現(xiàn) rowsCount[i]=n 或者某一列 j 出現(xiàn) colsCount[j]=m,則表示第 i 行或者第 j 列都被涂色。

算法:

  1. 特判。
  2. mat 的行數(shù)為 m,列數(shù)為 n。
  3. 建立一個哈希表 unordered_map<int, pair<int, int>> hash,其中 keymat 中整數(shù)值,value 是一個 pair<int, int>,存儲的是 matkey 值的橫坐標(biāo)、縱坐標(biāo)。
  4. 遍歷 mat,其中 key = mat[i][j]pair<int, int> value(i, j),插入哈希表 hash 中。
  5. 用一個長度為 m 的數(shù)組 rowsCount 來表示每一行中已經(jīng)被涂色的個數(shù),用一個長度為 n 的數(shù)組 colsCount 來表示每一列中已經(jīng)被涂色的個數(shù)
  6. 遍歷數(shù)組 arr,設(shè)下標(biāo)為 i,找到 arr[i]mat 中的橫縱坐標(biāo):row = hash[arr[i]].firstcol = hash[arr[i]].second,計(jì)數(shù)數(shù)組對應(yīng)的行列自增 1,如果發(fā)現(xiàn) rowsCount[row] = n,說明第 row 行的 n 個單元格都被涂上色,返回此時的下標(biāo) i;同理,如果發(fā)現(xiàn) colsCount[col] = m,說明第 col 列的 m 個單元格都被涂上色,返回此時的下標(biāo) 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; // <整數(shù),pair<橫坐標(biāo),縱坐標(biāo)>>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

結(jié)果:

在這里插入圖片描述

復(fù)雜度分析:

時間復(fù)雜度:O(m*n),其中 m 和 n 分別是二維數(shù)組 mat 的行數(shù)和列數(shù)。主要為用哈希表存儲矩陣 mat 中每一個元素對應(yīng)行列序號的時間開銷。

空間復(fù)雜度:O(m*n),其中 m 和 n 分別是二維數(shù)組 mat 的行數(shù)和列數(shù)。主要為用哈希表存儲矩陣 mat 中每一個元素對應(yīng)行列序號的空間開銷。

http://m.aloenet.com.cn/news/36798.html

相關(guān)文章:

  • 東莞模板網(wǎng)頁制作惠州seo網(wǎng)站排名
  • 橋梁畢業(yè)設(shè)計(jì)代做網(wǎng)站6個好用的bt種子搜索引擎
  • 網(wǎng)站建設(shè)的需要分析做網(wǎng)絡(luò)優(yōu)化的公司排名
  • 長沙的企業(yè)網(wǎng)站建設(shè)陜西網(wǎng)站設(shè)計(jì)
  • DW做旅游網(wǎng)站模板正規(guī)拉新推廣平臺有哪些
  • 網(wǎng)站建設(shè)業(yè)務(wù)文案亞洲長尾關(guān)鍵詞挖掘
  • 湛江論壇建站模板集客營銷軟件官方網(wǎng)站
  • 商業(yè)網(wǎng)站建設(shè)案例課程圖片優(yōu)化是什么意思
  • wordpress網(wǎng)站音樂放不全百度搜索服務(wù)
  • 網(wǎng)站上的洗衣液瓶子做花瓶怎么材質(zhì)互聯(lián)網(wǎng)廣告代理商
  • wordpress云端采集插件廣州新塘網(wǎng)站seo優(yōu)化
  • 商務(wù)網(wǎng)站建設(shè)綜合實(shí)訓(xùn)信陽網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站開發(fā)專業(yè)就業(yè)培訓(xùn)學(xué)校信息流優(yōu)化師沒經(jīng)驗(yàn)可以做嗎
  • 網(wǎng)站圖片有什么要求嗎長春seo排名公司
  • 攀枝花 網(wǎng)站建設(shè)app拉新怎么對接渠道
  • 最好看免費(fèi)觀看高清大全城中之城上海關(guān)鍵詞優(yōu)化排名哪家好
  • 怎么知道哪家公司網(wǎng)站做的好網(wǎng)站買賣交易平臺
  • 網(wǎng)絡(luò)組建設(shè)計(jì)與方案網(wǎng)站seo 優(yōu)化
  • jquery 特效 網(wǎng)站網(wǎng)絡(luò)推廣公司是干什么
  • 廣西住房城鄉(xiāng)建設(shè)廳官網(wǎng)站大數(shù)據(jù)培訓(xùn)班出來能就業(yè)嗎
  • 網(wǎng)站頁面數(shù)量開發(fā)網(wǎng)站的公司
  • 做網(wǎng)站圖片怎么弄一個自己的網(wǎng)站
  • 河北網(wǎng)站開發(fā)費(fèi)用百度電話人工服務(wù)
  • 做門窗接活的網(wǎng)站廣告投放渠道
  • 做我女朋友好不好套路網(wǎng)站seo高級優(yōu)化技巧
  • 做局域網(wǎng)網(wǎng)站公司網(wǎng)站怎么弄
  • 家居企業(yè)網(wǎng)站建設(shè)如何豬八戒網(wǎng)接單平臺
  • 廣州 企業(yè)網(wǎng)站建設(shè)百度貼吧怎么做推廣
  • 新興建設(shè)網(wǎng)站頭條指數(shù)
  • 小型手機(jī)網(wǎng)站建設(shè)哪家好百度視頻