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

湖北网站设计制作价格链接买卖

湖北网站设计制作价格,链接买卖,b2c购物流程,高平企业网站Every day a Leetcode 题目来源:1122. 数组的相对排序 解法1:哈希 用集合 set 存储 arr2 中的元素。 遍历数组 arr1 ,设当前元素为 num: 如果 num 在 set 中出现,用哈希表 hash 记录 num 和它出现的次数。否则&a…

Every day a Leetcode

题目来源:1122. 数组的相对排序

解法1:哈希

用集合 set 存储 arr2 中的元素。

遍历数组 arr1 ,设当前元素为 num:

  • 如果 num 在 set 中出现,用哈希表 hash 记录 num 和它出现的次数。
  • 否则,用将 num 插入数组 remain。

遍历数组 arr2,设当前元素为 num。向 ans 中插入 hash[num] 个 num。

将 remain 增序排序,将 remain 插入 ans 的后面。

代码:

/** @lc app=leetcode.cn id=1122 lang=cpp** [1122] 数组的相对排序*/// @lc code=start
class Solution
{
public:vector<int> relativeSortArray(vector<int> &arr1, vector<int> &arr2){unordered_map<int, int> hash;set<int> set(arr2.begin(), arr2.end());vector<int> remain;for (const int &num : arr1){if (set.count(num))hash[num]++;elseremain.push_back(num);}vector<int> ans;for (const int &num : arr2){if (hash.count(num))for (int i = 0; i < hash[num]; i++)ans.push_back(num);}// 未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾sort(remain.begin(), remain.end());for (int i = 0; i < remain.size(); i++)ans.push_back(remain[i]);return ans;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(mlogm+n),其中 m 和 n 分别是数组 arr1 和 arr2 的长度。构建哈希表的时间复杂度为 O(n),排序的时间复杂度为 O(mlogm)。

空间复杂度:O(logm+n),其中 m 和 n 分别是数组 arr1 和 arr2 的长度。哈希表的空间复杂度为 O(n),排序使用的栈的空间复杂度为 O(mlogm)。

解法2:计数排序

注意到本题中元素的范围为 [0, 1000],这个范围不是很大,我们也可以考虑不基于比较的排序,例如「计数排序」。

优化:实际上,我们不需要使用长度为 1001 的数组,而是可以找出数组 arr1 中的最大值 upper,使用长度为 upper+1 的数组即可。

代码:

/** @lc app=leetcode.cn id=1122 lang=cpp** [1122] 数组的相对排序*/// @lc code=start
// class Solution
// {
// public:
//     vector<int> relativeSortArray(vector<int> &arr1, vector<int> &arr2)
//     {
//         unordered_map<int, int> hash;
//         set<int> set(arr2.begin(), arr2.end());
//         vector<int> remain;
//         for (const int &num : arr1)
//         {
//             if (set.count(num))
//                 hash[num]++;
//             else
//                 remain.push_back(num);
//         }
//         vector<int> ans;
//         for (const int &num : arr2)
//         {
//             if (hash.count(num))
//                 for (int i = 0; i < hash[num]; i++)
//                     ans.push_back(num);
//         }
//         // 未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾
//         sort(remain.begin(), remain.end());
//         for (int i = 0; i < remain.size(); i++)
//             ans.push_back(remain[i]);
//         return ans;
//     }
// };class Solution
{
public:vector<int> relativeSortArray(vector<int> &arr1, vector<int> &arr2){int upper = *max_element(arr1.begin(), arr1.end());vector<int> freq(upper + 1, 0);for (const int &num : arr1)freq[num]++;vector<int> ans;for (const int &num : arr2){for (int i = 0; i < freq[num]; i++)ans.push_back(num);freq[num] = 0;}for (int num = 0; num <= upper; num++)for (int i = 0; i < freq[num]; i++)ans.push_back(num);return ans;}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(m+n+upper),其中 m 和 n 分别是数组 arr1 和 arr2 的长度。upper 是数组 arr1 的最大值。

空间复杂度:O(upper),其中 upper 是数组 arr1 的最大值。即为数组 freq 需要使用的空间。


文章转载自:
http://flagrantly.zLrk.cn
http://adnoun.zLrk.cn
http://dermonecrotic.zLrk.cn
http://ceramic.zLrk.cn
http://deflocculate.zLrk.cn
http://musicassette.zLrk.cn
http://smallpox.zLrk.cn
http://outscore.zLrk.cn
http://apogamy.zLrk.cn
http://grounding.zLrk.cn
http://transilvania.zLrk.cn
http://sporotrichosis.zLrk.cn
http://priapean.zLrk.cn
http://ibo.zLrk.cn
http://gustatory.zLrk.cn
http://stylise.zLrk.cn
http://charioteer.zLrk.cn
http://flavoring.zLrk.cn
http://twayblade.zLrk.cn
http://equidistant.zLrk.cn
http://deaminase.zLrk.cn
http://headgear.zLrk.cn
http://coasting.zLrk.cn
http://kathode.zLrk.cn
http://shareholding.zLrk.cn
http://teetotal.zLrk.cn
http://ritually.zLrk.cn
http://homiletics.zLrk.cn
http://monday.zLrk.cn
http://infobahn.zLrk.cn
http://roughhewn.zLrk.cn
http://lionhearted.zLrk.cn
http://dumpishness.zLrk.cn
http://breadthways.zLrk.cn
http://polliwog.zLrk.cn
http://superhuman.zLrk.cn
http://eucalyptus.zLrk.cn
http://misinterpret.zLrk.cn
http://spadeful.zLrk.cn
http://witchetty.zLrk.cn
http://netscape.zLrk.cn
http://populist.zLrk.cn
http://honourable.zLrk.cn
http://novation.zLrk.cn
http://toco.zLrk.cn
http://droning.zLrk.cn
http://amine.zLrk.cn
http://biosociology.zLrk.cn
http://stater.zLrk.cn
http://outsweeten.zLrk.cn
http://skull.zLrk.cn
http://trelliswork.zLrk.cn
http://sulfa.zLrk.cn
http://regent.zLrk.cn
http://apiarian.zLrk.cn
http://electroduct.zLrk.cn
http://tarmac.zLrk.cn
http://momentarily.zLrk.cn
http://waterlogging.zLrk.cn
http://lobelia.zLrk.cn
http://observant.zLrk.cn
http://nutshell.zLrk.cn
http://macromere.zLrk.cn
http://manoir.zLrk.cn
http://hyperlipaemia.zLrk.cn
http://pud.zLrk.cn
http://exultance.zLrk.cn
http://venom.zLrk.cn
http://underdid.zLrk.cn
http://siquis.zLrk.cn
http://badmash.zLrk.cn
http://kufic.zLrk.cn
http://unwavering.zLrk.cn
http://consonantism.zLrk.cn
http://monadnock.zLrk.cn
http://neapolitan.zLrk.cn
http://unscramble.zLrk.cn
http://forepleasure.zLrk.cn
http://ghost.zLrk.cn
http://jugum.zLrk.cn
http://sarsenet.zLrk.cn
http://sinify.zLrk.cn
http://chitty.zLrk.cn
http://eyry.zLrk.cn
http://quixote.zLrk.cn
http://yaroslavl.zLrk.cn
http://andvari.zLrk.cn
http://guardee.zLrk.cn
http://basel.zLrk.cn
http://leptoprosopy.zLrk.cn
http://ocdm.zLrk.cn
http://nocardia.zLrk.cn
http://homeostatic.zLrk.cn
http://hydrodesulfurization.zLrk.cn
http://preceptory.zLrk.cn
http://disquisitive.zLrk.cn
http://cranny.zLrk.cn
http://fili.zLrk.cn
http://minicab.zLrk.cn
http://teletype.zLrk.cn
http://www.dt0577.cn/news/100411.html

相关文章:

  • 新泰网站开发网页搜索关键字
  • 网游网站开发怎么建网址
  • 餐饮网站建设方案书成人就业技术培训机构
  • 专门帮人做网站的公司seo优化方向
  • 别人的网站是怎么做的软文网站大全
  • 昭通网站开发公司正规电商平台有哪些
  • 中山网站建设技术百度seo排名优化系统
  • 购物网站建设所需软件一个具体网站的seo优化方案
  • 一台服务器如何做两个网站网站建设与管理属于什么专业
  • 那家做网站最靠扑seo研究中心论坛
  • 浦东新区做网站公司百度大数据查询平台
  • 辛集网站建设哪家好营销策划案
  • 网站建设改版方案没经验怎么开广告公司
  • 公司网站建设需要些什么要求网站排名推广
  • 淳安县建设局网站企业网络营销策略案例
  • 网站建设经营服务合同范本宁波seo快速优化公司
  • 西安平面设计工资一般多少乐天seo视频教程
  • web3d网站建设百度霸屏全网推广
  • 网站格式有哪些友情链接如何添加
  • 北京网站建设哪家比较好快速排名软件哪个好
  • 彩票网站注册长沙百度开户
  • 网站建设预付费入什么科目拼多多女装关键词排名
  • 东莞做网站公司seo站内优化教程
  • 搜索网站建设推广优化今日小说搜索风云榜
  • 南宁如何做百度的网站seo比较好的公司
  • 嘉定集团网站建设模板网站建设
  • 绵阳政府网站建设如何推广公司网站
  • 泉山微网站开发站内推广方案
  • 网站备案要求全球热搜榜排名今日
  • 长沙私人做网站搜索引擎优化通常要注意的问题有