zoukankan      html  css  js  c++  java
  • 输出有序数组的连续序列范围

    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"].


    说明:0,1,2是连续的序列,则输出0->2

    4,5又是另外一组连续的,则输出4->5

    7单独是一个序列,输出7


    注意数组没有元素(不一定为空)。仅仅有1一个元素,等等的特殊情况的处理。

    public static void summaryRanges(){//leetcode oj
    		int []nums = {1,2,3,4,6,8};
    		List<String> a = new ArrayList<String>();
    		int start=0;
    		int end = 0;
    		int temp=0;
    		int i=0;
    
    		while(i<nums.length){
    			temp=nums[i];
    			if(i+1 != nums.length && temp+1 != nums[i+1]){//特殊情况处理。超出数组长度
    				if(start == end){
    					a.add(""+nums[start]);
    				}else{
    					a.add(nums[start]+"->"+nums[end]);
    				}
    				start=i+1;
    				end= start;
    				temp = nums[start];
    				++i;
    				if(start == nums.length -1){//最后一个元素是起始元素直接加入
    					a.add(""+nums[start]);
    					break;
    				}
    			}else{
    				if(i+1 == nums.length ){//后面没有元素了,
    					if(start == end){
    						a.add(""+nums[start]);
    					}else{
    						a.add(nums[start]+"->"+nums[end]);
    					}
    					break;
    				}
    				++i;
    				temp = nums[i];
    				end = i;
    			}
    		}//while
    		//return a;
    		for(String d:a){
    			System.out.println(d);
    		}
    		
    	}


  • 相关阅读:
    低落
    栗子
    Wireless Password HDU
    考研路茫茫——单词情结 HDU
    DNA Sequence POJ
    HDU 6138 Fleet of the Eternal Throne 多校#8 AC自动机
    Rikka with Candies HDU
    Wavel Sequence HDU
    Counting Divisors HDU
    Codeforces Round #424 E. Cards Sorting 线段树/数据结构瞎搞/模拟
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7111370.html
Copyright © 2011-2022 走看看