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

网站推广优化怎样微信小程序开发实训报告

网站推广优化怎样,微信小程序开发实训报告,wordpress3.5,设计师配色网站我的思路 题目分析: 需要遍历所有的区间数据,我们需要对区间数据进行排序,将这个区间调整为开头元素递增的顺序。然后不断遍历这个排序后的数组,不断更新新区间即可。 答题思路: 先排序遍历排序后的每一个数组元素&…

在这里插入图片描述

我的思路

题目分析:

  1. 需要遍历所有的区间数据,我们需要对区间数据进行排序,将这个区间调整为开头元素递增的顺序。
  2. 然后不断遍历这个排序后的数组,不断更新新区间即可。

答题思路:

  1. 先排序
  2. 遍历排序后的每一个数组元素,然后在这个循环中遍历这个数组后续的元素,比较大小
  3. 更新数组

最开始的时候,我是利用这个List获取新的数组,最后将这个list转化为二维数组,但是这种方法涉及到多次的装箱和拆箱工作,且占用额外的空间

public int[][] merge(int[][] intervals) {//对数组进行排序Arrays.sort(intervals, (o1, o2) ->o1[0]-o2[0]);//遍历数组进行调整List<List<Integer>> list = new ArrayList<>();for(int i = 0;i<intervals.length;i++){int start = intervals[i][0];int end = intervals[i][1];int j =0;for( j= i+1;j<intervals.length;j++){if(intervals[j][0]<=end){end = Math.max(intervals[j][1],end);//更新这个结束}else{break;//直接结束即可}}List<Integer> ans = new ArrayList<>();ans.add(start);ans.add(end);list.add(ans);i = j-1;}int[][] res = list.stream().map(l -> l.stream().mapToInt(Integer::intValue).toArray()).toArray(int[][]::new);return res;
}

后续我发现可以不用新建集合,直接在原有数组上进行操作即可。

public int[][] merge(int[][] intervals) {//对数组进行排序Arrays.sort(intervals, (o1, o2) ->o1[0]-o2[0]);//遍历数组进行调整int write =0;for(int i = 0;i<intervals.length;i++){int start = intervals[i][0];int end = intervals[i][1];int j =0;for( j= i+1;j<intervals.length;j++){if(intervals[j][0]<=end){end = Math.max(intervals[j][1],end);//更新这个结束}else{break;//直接结束即可}}intervals[write][0]=start;intervals[write][1]=end;write++;i = j-1;}return Arrays.copyOf(intervals, write);
}

灵神思路

灵神的思路和我大体一致,有几点不同。
他是利用这个List<int[]> ans = new ArrayList<>();来存储结果,并利用ans.toArray(new int[ans.size()][]);转换为二维数组。
他利用的是ans.get(m-1)[1]来获取的这个上一个区间的右端点,我是直接遍历的。

class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals, (p, q) -> p[0] - q[0]); // 按照左端点从小到大排序List<int[]> ans = new ArrayList<>();for (int[] p : intervals) {int m = ans.size();if (m > 0 && p[0] <= ans.get(m - 1)[1]) { // 可以合并ans.get(m - 1)[1] = Math.max(ans.get(m - 1)[1], p[1]); // 更新右端点最大值} else { // 不相交,无法合并ans.add(p); // 新的合并区间}}return ans.toArray(new int[ans.size()][]);}
}作者:灵茶山艾府
链接:https://leetcode.cn/problems/merge-intervals/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
http://www.dtcms.com/a/518073.html

相关文章:

  • 深圳比较好的建网站公司那种退不掉的网站怎么做的
  • 网站优化方案案例网站自动适应屏幕
  • 网站建设运营公司推荐龙岩天宫山有几个台阶
  • 秦皇岛网络公司 网站托管河南建设安全协会网站
  • apache建设多个网站如何用wordpress挖比特币
  • 怎么查询网站空间商北京住总第一开发建设有限公司网站
  • 椒江住房和城乡建设部网站昆明官渡区网站建设
  • 建设银行怎么加入信用网站网站开发语言哪种简单
  • 建设网站的具体步骤是什么做网站的流程视频教程
  • 宜昌市建设厅官方网站vps开wordpress
  • 网站建设还有需求么抖音网站建设的基本情况
  • 做健身推广网站WordPress插件api调用
  • 最权威的排行榜网站设计理念万能模板
  • 中山 网站建设 骏域设计网站的方法
  • 做网站彩票的代理好吗网站建设论文开题报告范文
  • 网站内容建设的原则是什么网页素材大宝库
  • 山东教育行业网站建设推荐做app模板网站
  • 无锡专业做网站的公司有哪些网站建设人工费一年多少钱
  • 西安模板做网站如何制作网页效果图
  • 静态单页网站wordpress管理咨询公司好不好做
  • 无锡建网站南京网站设计是什么
  • 山西网站建站系统哪家好室内设计公司招聘要求
  • 婚纱摄影网站首页小伟破解WordPress主题
  • 南京公共工程建设中心网站网络营销案例分享
  • python 网站架构网站网站制作网站
  • 网站备案需要建设好网站吗react做前台网站
  • 拷贝其他电脑上的linux虚拟机
  • 福建微网站建设网站发布后打不开
  • 网站开发会计科目dede手机网站模版
  • 旅游网站建设的可行性分析网站开发职业环境分析