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

设计做图免费网站网页设计自学视频网站

设计做图免费网站,网页设计自学视频网站,制作相册书,常州免费网站建设数据结构–合并区间 分析 首先需要对整个二维数组的每一个区间的第一列#xff08;左端#xff09;进行升序#xff0c;然后因为合并之后的的区间个数不确定#xff0c;所以使用ArrayList#xff0c;然后创建一个临时变量为第一个区间#xff0c;然后比较其第二列…数据结构–合并区间 分析 首先需要对整个二维数组的每一个区间的第一列左端进行升序然后因为合并之后的的区间个数不确定所以使用ArrayList然后创建一个临时变量为第一个区间然后比较其第二列右端是否与下一个区间的左端相交注意这里是大于等于如果相交就比较他们右端点的大小把大的赋给临时变量如果不相交就往集合添加这个区间然后让临时变量为当前没有相交到的数组 代码实例 第一个我最开始的土方法看看就行 class Solution {public int[][] merge(int[][] intervals) {if(intervals.length 0){return intervals;}for(int j 0 ;j intervals.length - 1;j){for(int i 0;i intervals.length - 1 - j;i){int [] temp new int[2]; if(intervals[i][0] intervals[i 1][0]) {temp intervals[i];intervals[i] intervals[i 1];intervals[i 1] temp;}}}// 完成排序Listint [] list new ArrayList();int [] temp intervals[0];for(int i 1; i intervals.length;i){if(temp[1] intervals[i][0]){temp[1] Math.max(temp[1],intervals[i][1]);}else{list.add(temp);temp intervals[i];}}list.add(temp);return list.toArray(new int[list.size()][2]);} }标准的 class Solution {public int[][] merge(int[][] intervals) { if (intervals.length 0) return intervals;//1、对二维数组按照第一列升序排序Arrays.sort(intervals, (a, b) - a[0] - b[0]);//2、进行合并数组Listint [] list new ArrayList();int term[] intervals[0];//临时空间1 判断是否需要合并集合2 是否放入结果集for (int i 1; i intervals.length; i) {if (term[1]intervals[i][0]){term[1]Math.max(term[1],intervals[i][1]);}else {list.add(term);termintervals[i];}}list.add(term);return list.toArray(new int[list.size()][2]);} }力扣的示例代码 class Solution {public int[][] merge(int[][] intervals) {int max Integer.MIN_VALUE;int min Integer.MAX_VALUE;for (int[] ints : intervals) {max Math.max(ints[1],max);min Math.min(ints[0],min);}// min index ints[0]// map数组存储的是 每个区间的起点 对应的最大的终点int[] map new int[max - min 1];Arrays.fill(map, -1);// 区间起始值相同则取最大右区间for (int[] ints : intervals) {int left ints[0] - min;map[left] Math.max(map[left], ints[1]);}//开始正常处理LinkedListint [] res new LinkedList();for (int i 0; i map.length; i) {if (map[i] -1) {continue;}int left i min;int right map[i];if (res.size() 0 || left res.getLast()[1]) {//当前区间的起始点大于上一个区间的终止点需要开辟一个新的区间res.add(new int[]{left,right});}else{if (res.getLast()[1] right) {//当前区间的终止点 大于 上一个区间的终止点则要更新区间的终止点res.getLast()[1] right;}}}return res.toArray(new int[][]{});} }复杂度分析 时间复杂度 O(nlogn)其中 n 为区间的数量。除去排序的开销我们只需要一次线性扫描所以主要的时间开销是排序的 O(nlogn)。 空间复杂度 O(logn)其中 n 为区间的数量。这里计算的是存储答案之外使用的额外空间。 O(logn) 即为排序所需要的空间复杂度。
http://www.zqtcl.cn/news/353968/

相关文章:

  • logo免费生成网站洛阳网络建站公司
  • 建设工程部网站百度指数功能
  • 个人网站 商业时事新闻2022最新10月
  • 不会代码 怎么做网站网站视频管理系统
  • 网站空间 流量网上卡片制作
  • 网站排名seo软件机关网站源码
  • 网站手机端页面怎么做手机之家
  • 成都电子商务网站大庆城市投资建设网站
  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件
  • 威海网站建设怎么样网上怎么推销自己的产品
  • 网站做SEO优化网站建设背景图片大小的修改
  • 看企业网站怎么做到百度秒收WordPress怎么可以上传图片
  • 欧洲手表网站简述jsp网站架构
  • 网站搜索排名优化软件flash xml网站
  • 匀贵网站建设亿级别网站开发注意
  • 怎样架设网站网站优化公司推荐
  • iis网站防盗链济宁官方网站