当我有 1 2 3 4 5
如果判断这些数字有序
是否有些灵巧的方法
请高手指教

解决方案 »

  1.   


    /**
     * 判断数组中的数字是否为升序
     * 且后数比前数大1
     * @param digitArray
     * @return
     */
    public static boolean isDigitSequence(int[] digitArray) {
    boolean flag = false;
    if (digitArray == null || digitArray.length == 0) {
    return flag;
    }
    if (digitArray.length >= 4) {
    // 数组转换
    List<Integer> digitList = new ArrayList<Integer>();
    for (int digit : digitArray) {
    digitList.add(digit);
    }
    // 删除前后两个噪音数字
    digitList.remove(0);
    digitList.remove(digitList.size() - 1);
    System.out.println("去掉噪音数字后:" + digitList); int min = digitList.get(0);
    for (int i = 1; i < digitList.size(); i++) {
    // 是否升序,是否后一个数比前一个数大1
    if (min < digitList.get(i) && digitList.get(i) - min == 1) {
    flag = true;
    } else {
    flag = false;
    break;
    }
    min = digitList.get(i);
    }
    }
    return flag;
    }有时候问完,自己也写完了 呵呵 不好意思啊
      

  2.   

    int[] s = {1,2,3,6,4};
    int[] b = Arrays.copyOf(s,s.length);

    System.out.println(Arrays.equals(s,b));
    Arrays.sort(b);
    System.out.println(Arrays.equals(s,b));