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

汇总区间(Java)

大家好我是苏麟 , 这篇文章也是凑数的 ...

描述 :

给定一个  无重复元素 的 有序 整数数组 nums 。

返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。

题目 :

LeetCode 228.汇总区间 :

228. 汇总区间

分析 : 

这个题使用双指针也可以非常方便的处理,慢指针指向每个区间的起始位置,快指针从慢指针位置开始向后遍历直到不满足连续递增(或快指针达到数组边界),则当前区间结束;然后将 slow指向更新为 fast + 1,作为下一个区间的开始位置fast继续向后遍历找下一个区间的结束位置,如此循环,直到输入数组遍历完毕 .

解析 :

// LeetCode
class Solution {
    public List<String> summaryRanges(int[] nums) {
        ArrayList<String> al = new ArrayList<>();

        int slow = 0;

        for(int fast = 0;fast < nums.length ; fast++){
            if(fast + 1 == nums.length || nums[fast] + 1 != nums[fast + 1]){
                StringBuffer s = new StringBuffer();
                s.append(nums[slow]);
                if(slow != fast){
                    s.append("->").append(nums[fast]);
                }
                al.add(s.toString());   
                slow = fast + 1;
            }
        }
        return al;
    }
}

本篇文章会收到算法通关第三关白银挑战 . 


http://www.kler.cn/a/106833.html

相关文章:

  • 无人机应用场景:石油管道巡检技术详解
  • 【Linux】HTTP协议和HTTPS加密
  • datastage在升级版本到11.7之后,部分在11.3上正常执行的SP报错SQLSTATE = 22007: 本机错误代码 = -180
  • 【AI构思渲染】网络直播——建筑绘图大模型生成渲染图
  • Gartner发布安全平台创新洞察:安全平台需具备的11项常见服务
  • Llama微调测试记录
  • 宏电5G RedCap工业智能网关获首个中国移动5G物联网开放实验室5G及轻量化产品能力认证
  • 企业管理系统有哪些?
  • apisix之插件开发,包含java和lua两种方式
  • Framework -- 系统架构
  • 利用经典热门电视剧写爆款公众号爆文10万+阅读量
  • 华为云 CodeArts Snap 智能编程助手 PyCharm 插件安装与使用指南
  • 傅里叶在图像中的应用FFT算法---fft实战应用案例
  • jvm线上异常排查流程
  • 如何查找特定基因集合免疫基因集 炎症基因集
  • 蓝桥杯第 2 场算法双周赛 第2题 铺地板【算法赛】c++ 数学思维
  • pdf转jpg的方法【ps和工具方法】
  • mysql-linux归档版安装
  • SSH安全登录远程主机
  • 蓝桥杯每日一题2032.10.24
  • 基于Canal同步MySQL数据到Elasticsearch
  • 【前端性能】性能优化手段-高频面试题
  • OpenCV官方教程中文版 —— 直方图的计算,绘制与分析
  • R语言与作物模型(以DSSAT模型为例)融合应用
  • GPT做SQL查询引擎的自然语言
  • 接口返回响应,统一封装(ResponseBodyAdvice + Result)(SpringBoot)