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

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

給定一個(gè)整數(shù)數(shù)組,如果數(shù)字序列 1、2、3 出現(xiàn)在數(shù)組中的某處,則返回 true

給定一個(gè)整數(shù)數(shù)組,如果數(shù)字序列 1、2、3 出現(xiàn)在數(shù)組中的某處,則返回 true

慕尼黑5688855 2023-08-23 17:20:07
基本上我試圖返回 true,如果數(shù)組中按特定順序排列 1、2、3,我無法弄清楚如何做到這一點(diǎn)。我已經(jīng)嘗試過使用一些 for 循環(huán)和 if 語句,但我不知道這實(shí)際上是否是最好的方法public static boolean arrayOneTwoThree(int[] nums) {    for(int i = 0; i < nums.length - 2; i++) {       if(nums[i] == 1 && nums[i + 1] == 2 && nums[i + i] == 3){           return true;       }   }   return false;}僅當(dāng) 1、2、3 位于數(shù)組中時(shí)才返回 true 我希望僅當(dāng) 1、2、3 處于特定順序時(shí)才返回 true在此處輸入圖像描述
查看完整描述

3 回答

?
蝴蝶不菲

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

public boolean arrayOneTwoThree(int[] nums) {


    // variables declaration.

    boolean result = false;

    int counter = 0,index = 0;

    int arr[] = {1,2,3};


     // base condition check. like array length should not be less than 3.

    if(nums.length < 3){

         return result;

    }


    //for loop for iterating over array and finding desired pattern

    for(int i = 0; i < nums.length; i++){


        //pattern found in array

        if(counter == 3){

          result = true;

          return result;

        }


        if(nums[i] == arr[counter]){

             index++; 

             counter++;

        }

        else if(counter != 0){

             i = index-1;

             counter = 0;

        }

    }     

    if (counter == 3) {

        result = true;

        return result;

    }  

    return result;

}

該解決方案的復(fù)雜度為 O(n)。


查看完整回答
反對 回復(fù) 2023-08-23
?
GCT1015

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

您當(dāng)前的代碼有很多問題。

  • true針對每個(gè)案件都返回。

  • 您創(chuàng)建了一個(gè)result變量,但從未對其執(zhí)行任何操作。

  • 當(dāng)您只能使用一個(gè)循環(huán)時(shí),您就創(chuàng)建了三個(gè)循環(huán)。

  • 您實(shí)際上從未檢查過這些值是否彼此相鄰。

對于第一個(gè)問題,return true 只有當(dāng)它們1, 2, 3彼此相鄰時(shí)我們才會這樣做,return false;對于其他所有情況也是如此。這是通過使用return false;after 循環(huán)來完成的。

對于下一個(gè)問題,result不需要,你實(shí)際上不需要計(jì)算任何東西,所以刪除它。

對于第三個(gè)問題,將所有循環(huán)合并為一個(gè)循環(huán)。但是,我們需要循環(huán)到 的條件nums.length - 2而不是 ,length因?yàn)槲覀儗⑼瑫r(shí)比較 3 個(gè)值,并且我們不想得到ArrayOutOfBoundsException。

最后,要檢查所有值是否彼此相鄰,只需將當(dāng)前數(shù)組索引處的值、下一個(gè)索引值以及索引上的兩個(gè)值分別與 1、2 和 3 進(jìn)行比較即可。

這看起來像if (nums[i] == 1 && nums[i + 1] == 2 && nums[i + 2] == 3)。如果是這種情況true,我們會return true立即。

以下是經(jīng)過所有這些修復(fù)后代碼的外觀:

public static void main(String[] args) {

    // test cases

    int [] arr = {1, 1 ,2, 1, 2, 3};

    System.out.println(arrayOneTwoThree(arr));


    int [] arr2 = {3, 2, 3};

    System.out.println(arrayOneTwoThree(arr2));

}


public static boolean arrayOneTwoThree(int[] nums) {

    for(int i = 0; i < nums.length - 2; i++) {

       if(nums[i] == 1 && nums[i + 1] == 2 && nums[i + 2] == 3){

           return true;

       }

   }

   return false;

}

測試運(yùn)行:

真的

錯(cuò)誤的

注意:如果您需要在上下文中使用它,請static從 中 刪除,我曾經(jīng)在我的.arrayOneTwoThree(int [] nums)non-staticstaticmain


查看完整回答
反對 回復(fù) 2023-08-23
?
慕森王

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

請嘗試這個(gè)解決方案,您也許能夠解決所有測試用例


public static boolean find123(List<Integer> numbers) {


boolean isOneExist=false;

boolean isTwoExist=false;

boolean isThreeExist=false;

                        for(Integer n1:numbers)

            {

                    if(n1==1)

                {

                        isOneExist=true;

                }

                if(n1==2 && isOneExist)

                {

                    isTwoExist=true;

                }

                if(n1==3 && isTwoExist)

                {

                    isThreeExist=true;

                }

            

            }

            

            if(isOneExist && isTwoExist && isThreeExist)

            {

            return true;

            }

            

        return false;

    }


查看完整回答
反對 回復(fù) 2023-08-23
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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