首頁>Club>
比較次數小於n,剛剛螞蟻的電面。
3
回覆列表
  • 1 # 宋運奎

    首先對n個數據進行排序(從小到大)。

    然後確定查詢資料的範圍最小值,與最大值。

    最後從n個已排序好的資料裡基於查詢範圍的最小值開始,截止最大值結束。

  • 2 # 程式設計師遇見更好的自己

    使用二分法,先對數進行排序,然後取最中間的數,如果中間數小於取數範圍的最小值則小於中間值的值放棄,對大於中間範圍的值再使用二分法,依次比較。

    以下是不限制次數的比較:

    使用java回答這個問題

    // 假設有以下資料1,4,2,6,3,5把這些放到list中

    List<Integer> oldList = new ArrayList<Integer>();

    oldList.add(1);

    oldList.add(4);

    oldList.add(2);

    oldList.add(6);

    oldList.add(3);

    oldList.add(5);

    // 定義接收結果的資料

    List<Integer> newList = new ArrayList<Integer>();

    /** 假設取3到6的資料,我們使用兩種方法. */

    // 1、使用for迴圈

    for (int i = 0 ;i< oldList.size();i++) {

    if (oldList.get(i) >= 3 && oldList.get(i) <= 6) {

    newList.add(oldList.get(i));

    }

    }

    // 2、lambda表示式,使用filter過濾

    newList = oldList.stream().filter((e) -> (e >= 3 && e<=6)

    ).collect(Collectors.toList());

  • 中秋節和大豐收的關聯?
  • 物質追求和精神追求哪一個更好,該如何平衡?