Discuss / Java / 列表

列表

Topic source

#1 Created at ... [Delete] [Delete and Lock User]
static int findMissingNumber(int start, int end, List<Integer> list) {
    int b =0;    
    int f =0;    
    if (list.get(0)!=start){
        f=list.get(0)-1;    }
    else if(list.get(end-start-1)!=end){
        f=list.get(end-start-1)+1;    }
    else{
        for(int i=0;i<list.size()-1;i++){
        int diff=list.get(i+1)-list.get(i);            
        if(diff!=1){
                b=i;                
                continue;            }
        }
        f=list.get(b)+1;    }
    return f;}

#2 Created at ... [Delete] [Delete and Lock User]

增强版:

static int findMissingNumber(int start, int end, List<Integer> list) {
    int b =0;    
    int f =0;    
    Integer [] array=list.toArray(new Integer[list.size()]);    
    Arrays.sort(array);    list=Arrays.asList(array);    
    if (list.get(0)!=start){
        f=list.get(0)-1;    }
    else if(list.get(end-start-1)!=end){
        f=list.get(end-start-1)+1;    }
    else{
        for(int i=0;i<list.size()-1;i++){
            int diff=list.get(i+1)-list.get(i);            
            if(diff!=1){
                b=i;                
                continue;            }
        }
        f=list.get(b)+1;    }
    return f;}

  • 1

Reply