亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語(yǔ)言基礎(chǔ)雙指針移除元素解法

 更新時(shí)間:2021年12月30日 08:48:12   作者:風(fēng)能保暖內(nèi)褲  
這篇文章介紹了C語(yǔ)言基礎(chǔ)雙指針移除元素的解法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本題方法:雙指針。知識(shí)比較基礎(chǔ),思路簡(jiǎn)單

題目:

我的題解:

int removeElement(int* nums, int numsSize, int val)
{
    int i=0,j=0;
    int cnt=0;                 //計(jì)數(shù)器,用來(lái)統(tǒng)計(jì)val的個(gè)數(shù)
    while(j<numsSize)
    {
        if(nums[j]!=val)       //1
        {
            nums[i]=nums[j];
            i++;
            j++;
        }    
        else                  //2                  
        {
            j++;
            cnt++;
        }
    }
    return numsSize-cnt;      //3
}

關(guān)于我的解法思路:

我們先舉個(gè)例子,比如{2,5,7,9,9,1,0},val=9

剛開(kāi)始我們讓指針都指向0位置,也就是nums[0],j為快指針,i為慢指針

如果j指向的地方不是val(也就是9),那我們就直接讓nums[j]覆蓋nums[i],并且i++,j++,讓兩個(gè)指針都指向下一個(gè)位置,如下圖:

如此重復(fù),指向7也是同理

指向7這個(gè)元素后,i++,j++,這時(shí)候,兩個(gè)指針都到了val(也就是9)這個(gè)地方

j指針 指向的就是我們要去掉的值val(9),也就是代碼中的 2步驟,這時(shí)候我們 i指針不動(dòng),j指針繼續(xù)往前走,cnt變量記錄val出現(xiàn)的次數(shù),cnt++。

j到了第二個(gè)9的時(shí)候 ,j指針還是繼續(xù)往前走i指針還是不變,cnt依舊++,如下圖

這時(shí)候,j指針指向的是1,就不是val的值了,我們就直接把nums[j]覆蓋nums[i],也就是把1覆蓋9了,那就兩個(gè)指針都往前走,同理j指向0,不是val,那就繼續(xù)覆蓋。

返回值:就是數(shù)組總個(gè)數(shù)numsSize減去val出現(xiàn)的次數(shù)cnt。

雙指針大致思路如上,有意見(jiàn)歡迎指出~

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 數(shù)組循環(huán)移位操作實(shí)例

    數(shù)組循環(huán)移位操作實(shí)例

    這篇文章介紹了數(shù)組循環(huán)移位操作實(shí)例,有需要的朋友可以參考一下
    2013-09-09
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語(yǔ)言中的搜索算法詳細(xì)解讀

    C語(yǔ)言中的搜索算法詳細(xì)解讀

    這篇文章主要介紹了C語(yǔ)言中的搜索算法詳細(xì)解讀,如果用樹(shù)構(gòu)建一個(gè)搜索樹(shù),層層搜索關(guān)鍵字(的一個(gè)字母),搜索到后就是需要的描述,就會(huì)節(jié)約很多時(shí)間,需要的朋友可以參考下
    2023-10-10
  • opencv+arduino實(shí)現(xiàn)物體點(diǎn)追蹤效果

    opencv+arduino實(shí)現(xiàn)物體點(diǎn)追蹤效果

    這篇文章主要為大家詳細(xì)介紹了opencv+arduino實(shí)現(xiàn)物體點(diǎn)追蹤效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++中vector操作方式詳解(多種方式)

    C++中vector操作方式詳解(多種方式)

    這篇文章主要介紹了C++中vector操作方式詳解(多種方式),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Qt使用Json的項(xiàng)目實(shí)踐

    Qt使用Json的項(xiàng)目實(shí)踐

    JSON是一種對(duì)源自Javascript的對(duì)象數(shù)據(jù)進(jìn)行編碼的格式,但現(xiàn)在被廣泛用作互聯(lián)網(wǎng)上的數(shù)據(jù)交換格式,本文主要介紹了Qt使用Json的項(xiàng)目實(shí)踐,詳細(xì)的介紹了主要使用的類(lèi)以及Json實(shí)戰(zhàn),感興趣的可以了解一下
    2023-09-09
  • Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法

    Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法

    應(yīng)用程序出現(xiàn)假死或凍結(jié)現(xiàn)象通常是由于一些常見(jiàn)問(wèn)題所導(dǎo)致的,本文主要介紹了Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Qt界面美化之自定義qss樣式表的詳細(xì)步驟

    Qt界面美化之自定義qss樣式表的詳細(xì)步驟

    很多人應(yīng)該和我一樣,想做界面才接觸的Qt,結(jié)果就是做不出來(lái)華麗的界面,下面這篇文章主要給大家介紹了關(guān)于Qt界面美化之自定義qss樣式表的詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 提升編程能力的C語(yǔ)言技巧總結(jié)

    提升編程能力的C語(yǔ)言技巧總結(jié)

    這篇文章主要為大家總結(jié)了一些C語(yǔ)言技巧的相關(guān)資料,可以幫助大家大大提升編程能力。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12

最新評(píng)論