第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

更大元素的數(shù)組

更大元素的數(shù)組

狐的傳說 2022-12-21 16:38:27
我想創(chuàng)建一個(gè)方法來接收一個(gè)數(shù)組和一個(gè)要比較的值。它應(yīng)該以數(shù)組的形式返回大于比較值的數(shù)字。例如,greaterThan([3, 4, 5, 6], 4])should return[5, 6]和greaterThan([3, 4, 5, 6], 5])should return [6]。由于數(shù)組length的result大小是動(dòng)態(tài)的,每次它找到一個(gè)更大的元素時(shí)我都會增加大小。static String greaterThan(int[] vectorCompare, int valueCompare){       Arrays.sort(vectorCompare);         // make it faster    int size = 0;    int[] result = new int[size];    for (int value : vectorCompare)    {        if (valueCompare < value)        {                           size++;                     }               }    int[] resultCopy = Arrays.copyOf(result, size);    // what to do next?    return Arrays.toString(resultCopy);}對我有什么建議嗎?我想過使用ArrayList,但我有點(diǎn)卡住了。
查看完整描述

4 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不需要對其進(jìn)行排序,只需將元素收集在一個(gè)列表中并在內(nèi)容上調(diào)用 toString。如果順序很重要,您可以在之后對收集的值列表進(jìn)行排序。


    static String greaterThan(int[] vector, int compare) {

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


        for (int i : vector) {

            if (i > compare) {

                 greater.add(i);

            }

        }


        return greater.toString();

    }


查看完整回答
反對 回復(fù) 2022-12-21
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

這是盡可能簡單的。這適用于數(shù)組。

   public static int[] greaterThan(int[] numbs, int max) { 
        return Arrays.stream(numbs).parallel().filter(a -> a > max).toArray();
   }

您也可以對列表執(zhí)行相同的操作。

   public static List<Integer> greaterThan(List<Integer> numbs, int max) { 
        return numbs.parallelstream().filter(a -> a > max).collect(Collectors.toList());
   }

在這兩種情況下,列表或數(shù)組都變成了并行的值流。那些被過濾以僅允許那些大于最大的通過管道。然后將它們收集到列表或數(shù)組中并返回。此特定任務(wù)適用于多線程中的并行操作,并將加快執(zhí)行速度,尤其是當(dāng)您的 PC 具有多個(gè)內(nèi)核時(shí)。

即使您是 Java 新手,lambda 和流也是該語言的重要特性,應(yīng)該學(xué)習(xí)。


查看完整回答
反對 回復(fù) 2022-12-21
?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

在上述方法中對您的輸入進(jìn)行排序?qū)嶋H上會使它變慢。通過正常的數(shù)組迭代和比較,您的復(fù)雜度將為 O(n),而對于排序則為 O(nlogn)。相反,你可以試試這個(gè)。


static String greaterThan(int[] vectorCompare, int valueCompare)

   {

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

      for (int value : vectorCompare)

      {

         if (valueCompare < value)

         {

            list.add(value);

         }

      }

         return list.toString();

   }

通過使用 Arraylist,您無需擔(dān)心要返回的元素?cái)?shù)量。


查看完整回答
反對 回復(fù) 2022-12-21
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

可以按如下方式完成:


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

    list.add(2);

    list.add(1);

    list.add(4);

    list.add(6);

    list.add(7);


    int valToCompare = 4;

    List<Integer> result = find(list, valToCompare);


    private static List<Integer> find(List<Integer> list, int val) {

        return list.stream().filter(v -> v > val).collect(Collectors.toList());

    }


查看完整回答
反對 回復(fù) 2022-12-21
  • 4 回答
  • 0 關(guān)注
  • 125 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號