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语言实现...
LeetCode404. 左叶子之和
Recording personal Java, Python, JavaScript solutions for Leetcode problems. 记录个人 Java, Python, JavaScript 的Leetcode题解.zip
刷leetcode总结.md
LeetCode20. 有效的括号
leetcode 2. 两数相加
原创:leetcode 111. 二叉树的最小深度记住:最小深度和最大深度方法不同。* Definition for a binary tree node.in
原创:leetcode 107. 二叉树的层次遍历 II【队列】* Definition for a binary tree node.
leetCode199. 二叉树的右视图
LeetCode145. 二叉树的后序遍历
LeetCode102. 二叉树的层序遍历
LeetCode94. 二叉树的中序遍历
leetcode 1.两数之和
对于每一道LeetCode的题目,解题过程通常包括以下几个步骤: 1. 题目理解:理解题目的输入、输出要求以及约束条件。 2. 算法设计:选择合适的算法或数据结构来解决问题,如排序、搜索、递归、迭代等。 3. 编程实现:...
原创:leetcode 5. 最长回文子串//寻找以i-1,i为中点偶数长度的回文//寻找以i为中心的奇数长度的回文。
LeetCode107. 二叉树的层序遍历 II
lc陈彤宇的leetcode 笔记.docx
基于Java实现20道LeetCode题.pdf
LeetCode513. 找树左下角的值
LeetCode429. N 叉树的层序遍历