JAVA數組中移除特定元素並求出數組的長度

今天做基礎算法題的時候,遇到讓把一個int型的數組中指定的數字移除,得到新數組的長度。乍一想,數組裏的數是不能刪除的,所以我想了很多種複雜的計算方法,但是結果都不對。後來在網上找了一個簡潔的代碼,感覺非常受益,趕緊記錄下來。

下面是我學習後寫的算法代碼:

  public static int removeElement(final int[] nums, final int val) {
        int resultLen = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[resultLen] = nums[i];
                resultLen++;
            }
        }
        return resultLen;

    }

代碼思路很清晰,就是把不需要移除的數依次寫到原來的數組裏就可以了,需要移除的數不用做任何處理,

得到的數組就只有不需要移除的數了。

 

很感謝大家提出來的問題,因爲我理解的題目是不能創建新的數組,否則題目就很簡單了,下面是原題的地址:https://leetcode.com/problems/remove-element/ 

如果哪位大俠有別的方法,真誠的希望可以貼出代碼,方便大家學習交流。謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章