欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

題目:

我的題解:

int removeElement(int* nums, int numsSize, int val)
{
    int i=0,j=0;
    int cnt=0;                 //計數(shù)器,用來統(tǒng)計val的個數(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)于我的解法思路:

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

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

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

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

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

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

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

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

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

雙指針大致思路如上,有意見歡迎指出~

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

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要介紹了C語言中的搜索算法詳細(xì)解讀,如果用樹構(gòu)建一個搜索樹,層層搜索關(guān)鍵字(的一個字母),搜索到后就是需要的描述,就會節(jié)約很多時間,需要的朋友可以參考下
    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)追蹤效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++中vector操作方式詳解(多種方式)

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

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

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

    JSON是一種對源自Javascript的對象數(shù)據(jù)進(jìn)行編碼的格式,但現(xiàn)在被廣泛用作互聯(lián)網(wǎng)上的數(shù)據(jù)交換格式,本文主要介紹了Qt使用Json的項(xiàng)目實(shí)踐,詳細(xì)的介紹了主要使用的類以及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)象通常是由于一些常見問題所導(dǎo)致的,本文主要介紹了Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • C語言實(shí)現(xiàn)簡單的飛機(jī)大戰(zhàn)游戲

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

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

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

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

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

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

最新評論