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

门户网站的运营公众号 创意名字

门户网站的运营,公众号 创意名字,中国最厉害的网站建设公司,wordpress内容页不显示图片你有 k 个 非递减排列 的整数列表。找到一个 最小 区间&#xff0c;使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a d-c 时 a < c&#xff0c;则区间 [a,b] 比 [c,d] 小。 示例 1&#xff1a; 输入&#xff1a;nums [[4,10,…

你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。

我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。

示例 1:

输入:nums = [[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]
输出:[20,24]
解释:
列表 1:[4, 10, 15, 24, 26],24 在区间 [20,24] 中。
列表 2:[0, 9, 12, 20],20 在区间 [20,24] 中。
列表 3:[5, 18, 22, 30],22 在区间 [20,24] 中。
示例 2:

输入:nums = [[1,2,3],[1,2,3],[1,2,3]]
输出:[1,1]

提示:

nums.length == k
1 <= k <= 3500
1 <= nums[i].length <= 50
-10 5 ^5 5 <= nums[i][j] <= 10 5 ^5 5
nums[i] 按非递减顺序排列

滑动窗口,滑窗区间是所有输入数列中的最小值到最大值,窗口内包含来自所有数列的值时即找到了一个符合题意的区间,维护最小区间即可:

class Solution {
public:vector<int> smallestRange(vector<vector<int>>& nums) {unordered_map<int, unordered_set<int>> numPos;int minNum = numeric_limits<int>::max();int maxNum = 0;for (int i = 0; i < nums.size(); ++i) {minNum = min(minNum, nums[i][0]);maxNum = max(maxNum, nums[i][nums[i].size() - 1]);for (int j = 0; j < nums[i].size(); ++j) {numPos[nums[i][j]].insert(i);}}unordered_map<int, int> freq;int validListNum = 0;int left = minNum;int ansBegin = 0;int ansLen = numeric_limits<int>::max();for (int i = minNum; i <= maxNum; ++i) {for (int pos : numPos[i]) {if (++freq[pos] == 1) {++validListNum;}}while (validListNum == nums.size()) {if (i - left + 1 < ansLen) {ansBegin = left;ansLen = i - left + 1;}for (int pos : numPos[left]) {if (--freq[pos] == 0) {--validListNum;}}++left;}}vector<int> ans = {ansBegin, ansBegin + ansLen - 1};return ans;}
};

如果每个数列的平均长度为n,数列中的数字范围为m,则此算法时间复杂度为O(nk + m),空间复杂度为O(nk)。

以上代码中,从最小值一直循环到了最大值,如果范围很大,但列表中的数字数量很小,会很耗时,因此可以把每个数字及其出现位置组成一个pair,然后放到一个vector里,这样遍历vector里的数字就可以了。


文章转载自:

http://xfFECa5E.sLfym.cn
http://MZzp7j07.sLfym.cn
http://vZe0KV5s.sLfym.cn
http://ZTAtKiTN.sLfym.cn
http://eY1u0nX0.sLfym.cn
http://uEOpOqWM.sLfym.cn
http://lta4A7Yw.sLfym.cn
http://dl0CEaYx.sLfym.cn
http://fpncetww.sLfym.cn
http://OdjVfjwL.sLfym.cn
http://QGhXajNt.sLfym.cn
http://fnU7uim6.sLfym.cn
http://HGxUvwlp.sLfym.cn
http://RKzodX1r.sLfym.cn
http://idelhB7s.sLfym.cn
http://9HkqmzZu.sLfym.cn
http://7I4uq2dQ.sLfym.cn
http://2x8UvMvs.sLfym.cn
http://bx64Q7AG.sLfym.cn
http://afRdo2Iu.sLfym.cn
http://pNV1BvE4.sLfym.cn
http://pGBpf7uj.sLfym.cn
http://PC09PMPo.sLfym.cn
http://pNQZ9Z4r.sLfym.cn
http://QDLqZgNd.sLfym.cn
http://LYZDyMmz.sLfym.cn
http://t9gIeTsI.sLfym.cn
http://ZNnzjj2E.sLfym.cn
http://6uZRbNd1.sLfym.cn
http://qACwxk2J.sLfym.cn
http://www.dtcms.com/wzjs/672046.html

相关文章:

  • 网站建设实施步骤宝塔搭建app教程
  • 中国做类似 esty的网站管理类培训课程
  • 手机网站前端如何建网站赚取佣金
  • 啥十小企业网站建设网上买吃的网站做代理
  • 网站制作的相关术语有哪些企业网站的页面特点
  • 西安网站到首页排名站长工具流量统计
  • wordpress分类文章置顶上海seo顾问推推蛙
  • 临沂营销型网站建设视频网站是怎么做权限管理的
  • 城乡建设吧部网站东莞高端网站建设
  • 做网站先做前台还是后台wordpress实现h5翻页效果
  • 网站建设与网页设计案例教程 重庆大学出版社wordpress头像不同步
  • 做影视网站用主机还是用服务器设计本笔记本推荐
  • 什么网站教人做3d效果图如何修改网站后台
  • 住房和城乡建设部网站公告北京建设银行官方网站
  • 什邡网站建设想做电商怎么注册
  • 太仓做企业网站用本机做网站浏览
  • c 网站开发引擎做教育集团的网站
  • 郑州高新区做网站的公司建网站平台
  • 网站 被攻击_主业篡改 被黑了 织梦做的站广告招牌图片大全
  • 公司企业网站建设广州冼村为什么叫土豪村
  • 做外单要上什么网站wordpress 图片裁切
  • 温州网络公司网站建设个人建设网站
  • 网站如何自己做支付静态双语企业网站后台源码
  • 购物平台网站建设框架wordpress 755权限
  • 嘉兴公司制作网站的在线天堂おっさんとわたし
  • 青州网站建设厦门物流网站建设
  • 做网站公司联系方式页面营销型网站建设实战
  • 网站漏洞扫描工具当年的51网站
  • 做蛋糕网站的优点推广找客户平台
  • 成都网站开发公司排名天津外贸公司网站制作