java怎样判断任意10个数中不存在任意3个数是连数?

解决方案 »

  1.   

    将改数组排序,然后用排序后的数组Array[i]-Array[i-1],获得一个相邻数差值的新数组,此时判断该新数组中如果是否有3个连续的值为1的元素。
      

  2.   

    public class FindSeq {

    private int[] arr = null;

    private int length = 0;

    public FindSeq(int [] arr){
    this.arr = arr;
    this.length = arr.length;
    } /**
     * @param args
     */
    public static void main(String[] args) {
    FindSeq findSeq = new FindSeq(new int[] {1,3,3,12,2});
    findSeq.find3Seq();
    }

    public void find3Seq(){
    int index = 0;
    boolean has = false;
    while(index < length - 2){
    if(find3Seq(index)){
    has = true;
    break;
    }else{
    index += 3;
    }
    }

    System.out.print(has);
    }

    private boolean find3Seq(int index){
    return arr[index] + 1 == arr[index + 1] && arr[index + 1] + 1 == arr[index + 2]; 
    }
    }
    抛砖引玉
      

  3.   

    晕,while里的else应该写index++才对