228.Summary Ranges
Difficulty: Medium
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].
1. 解法,最简单,遍历判断。
public class Solution { public List<String> summaryRanges(int[] nums) { int length = nums.length; List<String> result = new ArrayList<String>(); if (length == 0) { return result; } int start = nums[0]; int theoreticalValue = start + 1; for (int index = 0; index < length; index ++) { if (index == length - 1) { if (nums[index] == (theoreticalValue - 1) && start != nums[index]) { String item = start + "->" + nums[index]; result.add(item); } else { String item = "" + nums[index]; result.add(item); } } else if(nums[index + 1] != theoreticalValue) { if (start == nums[index]) { String item = "" + nums[index]; result.add(item); start = nums[index + 1]; theoreticalValue = start; } else { String item = start + "->" + nums[index]; result.add(item); start = nums[index + 1]; theoreticalValue = start; } } theoreticalValue ++; } return result; } }
虽然这个算法简单,当是并没有很好的效率,至打败了5.3%的java提交,这个题目本身不难,但是基本分成三类 ,好像是在第二类?好吧,其实用Python有更加就简单的方法。
相关推荐
用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现Leetcode题目.zip用C语言实现...
Recording personal Java, Python, JavaScript solutions for Leetcode problems. 记录个人 Java, Python, JavaScript 的Leetcode题解.zip
刷leetcode总结.md
原创:leetcode 111. 二叉树的最小深度记住:最小深度和最大深度方法不同。* Definition for a binary tree node.in
原创:leetcode 107. 二叉树的层次遍历 II【队列】* Definition for a binary tree node.
对于每一道LeetCode的题目,解题过程通常包括以下几个步骤: 1. 题目理解:理解题目的输入、输出要求以及约束条件。 2. 算法设计:选择合适的算法或数据结构来解决问题,如排序、搜索、递归、迭代等。 3. 编程实现:...
原创:leetcode 5. 最长回文子串//寻找以i-1,i为中点偶数长度的回文//寻找以i为中心的奇数长度的回文。
lc陈彤宇的leetcode 笔记.docx
基于Java实现20道LeetCode题.pdf
原创:leetcode 22.括号生成【回溯】对待这种问题,千万别暴力搜索,那样太笨了。但是这个方法是最容易理解的//回溯法 (后面的括号) 不可以大于 (前面
LeetCode674. 最长连续递增序列674. 最长连续递增序列解题思路:记录每次递增序列的长度,max存储最大长度// 递增序列更新最大长度} else
LeetCode746.使用最小花费爬楼梯746. 使用最小花费爬楼梯解题思路:动态规划当前楼梯最小值=Math.min(前一步最小值,前两步最小值)简化 mi
LeetCode888. 公平的糖果棒交换888. 公平的糖果棒交换解题思路:哈希表法第一次遍历 A\B 计算二者的糖果差值 diff,同时以 B糖果值建立哈希
LeetCode1423. 可获得的最大点数1423. 可获得的最大点数解题思路:正难则反,剩余元素之和最小时,拿走的纸牌之和最大一次遍历,计算 cardPoi
84. 柱状图中最大的矩形 - 力扣(LeetCode).html
Leetcode 284. 顶端迭代器问题描述算法解法1:解法1:实现解法1: c++