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

深圳代做网站后台搜索

深圳代做网站后台,搜索,公司起名大全2021最新版的免费,网站维护人员力扣452.用最少数量的剪引爆气球 链接: link 思路 这道题的第一想法就是如果气球重叠得越多那么用箭越少,所以先将气球按照开始坐标从小到大排序,遇到有重叠的气球,在重叠区域右边界最小值之前的区域一定需要一支箭,这道题有两…

力扣452.用最少数量的剪引爆气球

链接: link

思路

这道题的第一想法就是如果气球重叠得越多那么用箭越少,所以先将气球按照开始坐标从小到大排序,遇到有重叠的气球,在重叠区域右边界最小值之前的区域一定需要一支箭,这道题有两个地方容易出错:
1.出现重叠区域,忘记更新最右边气球的有边界;
2.在重叠区域内射箭,即在下面提供的代码中else里执行res++;
这是我自己容易犯的错

class Solution {public int findMinArrowShots(int[][] points) {if (points.length == 0)return 0;Arrays.sort(points, (a, b) -> Integer.compare(a[0], b[0]));int res = 1;// 气球数组不为0,至少需要一支箭for (int i = 1; i < points.length; i++) {// 当前气球开始位>前一个气球的结束位置if (points[i][0] > points[i - 1][1]) {res++;} else {// 否则当前气球和前一个气球挨着// 更新当前气球的有边界,瑜前一个气球比较// 更新是为了避免和后一个气球比较的时候重复射箭points[i][1] = Math.min(points[i][1], points[i - 1][1]);}}return res;}
}

435.无重叠区间
链接: link

class Solution {public int eraseOverlapIntervals(int[][] intervals) {if (intervals.length == 1)return 0;// 按照右边界排序,从前向后遍历Arrays.sort(intervals, (a, b) -> Integer.compare(a[1], b[1]));int cnt = 1;// 统计重合区域for (int i = 1; i < intervals.length; i++) {// 当前节点的左边界<前一个节点的右边界,一定有重合if (intervals[i][0] < intervals[i - 1][1]) {// 更新当前节点右边界intervals[i][1] = Math.min(intervals[i][1], intervals[i - 1][1]);} else {// 当前节点和前一个节点没有重合cnt++;}}return intervals.length - cnt;}
}

相似题型

763.划分字母区间
链接: link

class Solution {public List<Integer> partitionLabels(String s) {List<Integer> ls = new ArrayList<>();int[] edge = new int[26];char[] chars = s.toCharArray();for (int i = 0; i < chars.length; i++) {edge[chars[i] - 'a'] = i; // 记录每个字母最大边界}int left = 0, right = 0;for (int i = 0; i < chars.length; i++) {right = Math.max(right, edge[chars[i] - 'a']);if (i == right) {ls.add(i - left + 1);left = right + 1;}}return ls;}
}

56.合并区间
链接: link

思路

这种题本质和【贪心算法4】的452和435一样的套路,这几道题都是判断区间重叠,区别就是判断区间重叠后的逻辑,本题是判断区间重贴后要进行区间合并。所以一样的套路,先排序,让所有的相邻区间尽可能的重叠在一起,按左边界,或者右边界排序都可以,处理逻辑稍有不同。
唯一需要考虑的是什么时候更新区间以及添加到ls中。

class Solution {public int[][] merge(int[][] intervals) {List<int[]> ls = new ArrayList<>();if(intervals.length == 1) return intervals;Arrays.sort(intervals,(a,b)->Integer.compare(a[0], b[0])); // 按照左边界排序int start = intervals[0][0],end = intervals[0][1];for(int i = 1;i<intervals.length;i++){// 无重叠if(intervals[i][0] > end){// 合并ls.add(new int[]{start,end});// 更新start = intervals[i][0];end = intervals[i][1];}else{end = Math.max(end,intervals[i][1]);}}ls.add(new int[]{start,end});return ls.toArray(new int[ls.size()][]);}
}
http://www.dtcms.com/wzjs/180061.html

相关文章:

  • b2b交易网站有哪些哈尔滨网站推广
  • 网站建设学多久长春seo排名收费
  • 做网站开发北京seo地址
  • 如何做高端网站seo教程排名第一
  • 南宁seo域名关键词快速排名seo怎么优化
  • php多平台商城网站系统建设网络营销员岗位的职责与要求
  • wordpress关健词武汉seo认可搜点网络
  • 淘客网站建设怎么找百度客服
  • 优质的营销网站建设网站快速排名优化价格
  • 有模板如何做网站内部搜索引擎优化
  • 企业网站搜索引擎优化方案百度代发排名
  • 网站推广方式和手段网站推广方案模板
  • php网页设计作业代码搜狗整站优化
  • 在国内做跨境电商怎么上外国网站百度风云榜游戏排行榜
  • 安徽建设网站公司seo搜索引擎优化的内容
  • 网站开发转包协议企业网站建设方案策划
  • 抚州企业网站做优化网站搜索优化官网
  • 国内外html5网站建设状况百度搜索引擎优化的养成良好心态
  • 如何建立动态网站3分钟搞定网站seo优化外链建设
  • 新网站如何做seo推广seo优化推广专员招聘
  • 淘宝接单做网站市场调研分析报告模板
  • 合肥网站建设开发电话做小程序的公司
  • 潍坊网站建设优化网站建设优化400报价
  • 商品网站开发需求表营销型网站建设团队
  • 洛阳做网站多少钱美容美发培训职业学校
  • 网站后台管理系统进不去怎么办webview播放视频
  • 网站服务合同范本百度收录快速提交
  • 做五金上哪个网站推广重庆关键词优化软件
  • wordpress获取站点标题容易被百度收录的网站
  • 专业的网站设计网络北京互联网公司有哪些