<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【一天一道Leetcode】移除元素

          共 1615字,需瀏覽 4分鐘

           ·

          2021-04-11 22:49


          本篇推文共計(jì)2000個(gè)字,閱讀時(shí)間約3分鐘。



          01


          題目描述


          題目描述:


          給你一個(gè)數(shù)組nums和一個(gè)值val,你需要原地移除所有數(shù)值等于val的元素,并返回移除后數(shù)組的新長(zhǎng)度。

           

          不要使用額外的數(shù)組空間,你必須僅使用O(1)額外空間并原地修改輸入數(shù)組。

          元素的順序可以改變。你不需要考慮數(shù)組中超出新長(zhǎng)度后面的元素。


          示例 1:

          輸入:nums = [3,2,2,3], val = 3
          輸出:2, nums = [2,2]
          解釋:函數(shù)應(yīng)該返回新的長(zhǎng)度 2,
          并且 nums 中的前兩個(gè)元素均為 2。
          你不需要考慮數(shù)組中超出新長(zhǎng)度后面的元素。
          例如,函數(shù)返回的新長(zhǎng)度為 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],
          也會(huì)被視作正確答案。


          提示:

          1. 0 <= nums.length <= 100

          2. 0 <= nums[i] <= 50

          3. 0 <= val <= 100



          02


          思路和方法


          由題意最后只用輸出新數(shù)組的長(zhǎng)度

           

          我們可以利用遍歷從數(shù)組第一個(gè)元素進(jìn)行遍歷,依次對(duì)比當(dāng)前數(shù)組元素是否與給定的目標(biāo)值相同,將不同的數(shù)組元素往數(shù)組前面移動(dòng)

          類似于篩選,將符合條件的元素,排到隊(duì)伍前面。


          最后輸出與給定目標(biāo)值元素不同的那部分?jǐn)?shù)組長(zhǎng)度。


          例如我們用一個(gè)例子來直觀地說明。

          初始數(shù)組num=[1,1,2,2,3,3],給定的值為3

          設(shè)定1個(gè)起點(diǎn)進(jìn)行遍歷
          i=0,

          設(shè)定1個(gè)節(jié)點(diǎn),
          node=0
          用于把和給定目標(biāo)值不相同的數(shù)組元素往數(shù)組前面移動(dòng),

          如果num[i]!=val
          則令num[node]=num[i]

          利用這樣的方式,將同一個(gè)數(shù)組與給定目標(biāo)值不同的元素都往前移動(dòng)。




          我們的代碼輸出為:

          class Solution:
              def removeElement(self, nums: List[int], val: int) -> int:
                  node=0
                  for i in range(0,len(nums)):
                      if nums[i]!=val:
                          nums[node]=nums[i]
                          node+=1
                      i+=1
                  return node




          往期回顧

          【年終總結(jié)】你好2021,再見2020。


          【秋招紀(jì)實(shí)錄】一篇特別正經(jīng)的【騰訊】求職經(jīng)驗(yàn)分享


          【一天一道Leetcode】笨階乘



          ☆ END ☆

          你與世界

          只差一個(gè)

          公眾號(hào)

          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  搜国产黄色成人网站视频免费观看 | 黄色片成年人免费的 | 日本爱爱免费视频 | 国产一区二区三区四 | 波多野结衣视频网站 |