精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

十五周算法訓練營——快慢指針

開發 前端
給你一個數組 Nums 和一個值 Val,你需要 原地 移除所有數值等于 Val 的元素,并返回移除后數組的新長度。

今天是十五周算法訓練營的第八周,主要講快慢指針專題。

移除元素

給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等于 val 的元素,并返回移除后數組的新長度。

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

元素的順序可以改變。你不需要考慮數組中超出新長度后面的元素。

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

利用快慢指針解決,如果fast遇到val就跳過,否則就賦值給slow指針,并讓slow指針前進一步。

// 利用快慢指針解決,如果fast遇到val就跳過,否則就賦值給slow指針,并讓slow指針前進一步
function removeElement(nums, val) {
    let slow = 0;
    let fast = 0;

    while (fast < nums.length) {
        // 當快指針等于對應值時,則跳過
        if (nums[fast] != val) {
            nums[slow] = nums[fast];
            slow++;
        }

        // 快指針每次都前進一步
        fast++;
    }

    return slow;
}

const nums = [3, 2, 2, 3];

console.log(removeElement(nums, 3));

移動零

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。

「請注意」 ,必須在不復制數組的情況下原地對數組進行操作。

「示例 1:」

輸入: nums = [0,1,0,3,12]
輸出: [1,3,12,0,0]

用快慢指針解決,首先去除所有零點,然后慢指針后面的賦值為0

function moveZeroes(nums) {
    // 1. 首先去除所有的零點
    // 2. 將去除元素后,慢指針后面的賦值為0

    let slow = 0;
    let fast = 0;

    while (fast < nums.length) {
        if (nums[fast] !== 0) {
            nums[slow] = nums[fast];
            slow++;
        }

        fast++;
    }

    for (let i = slow; i < nums.length; i++) {
        nums[i] = 0;
    }

    return nums;
}

const nums = [0,1,0,3,12];
console.log(moveZeroes(nums));

刪除數組中的重復項

給你一個 升序排列 的數組 nums ,請你 原地 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。元素的 相對順序 應該保持 一致 。

由于在某些語言中不能改變數組的長度,所以必須將結果放在數組nums的第一部分。更規范地說,如果在刪除重復項之后有 k 個元素,那么 nums 的前 k 個元素應該保存最終結果。

將最終結果插入 nums 的前 k 個位置后返回 k 。

不要使用額外的空間,你必須在 原地 修改輸入數組 并在使用 O(1) 額外空間的條件下完成。

示例 1:

輸入:nums = [1,1,2] 輸出:2, nums = [1,2,_] 解釋:函數應該返回新的長度 2 ,并且原數組 nums 的前兩個元素被修改為 1, 2 。不需要考慮數組中超出新長度后面的元素。

利用快慢指針實現,當快慢指針不相等時,就證明找到了一個新的元素,此時將慢指針移動一下,將新值賦值給慢指針。

// 利用快慢指針實現,當快慢指針不相等時,就證明找到了一個新的元素,此時將慢指針移動一下,將新值賦值給慢指針
function removeDuplicates(nums) {
    let slow = 0;
    let fast = 0;

    while (fast < nums.length) {
        if (nums[slow] !== nums[fast]) {
            slow++;
            nums[slow] = nums[fast];
        }
        fast++;
    }

    return slow + 1;
}

const nums = [1,1,2];
console.log(removeDuplicates(nums));

鏈表的中間結點

給定一個頭結點為 head 的非空單鏈表,返回鏈表的中間結點。

如果有兩個中間結點,則返回第二個中間結點。

示例 1:

輸入:[1,2,3,4,5] 輸出:此列表中的結點 3 (序列化形式:[3,4,5]) 返回的結點值為 3 。 (測評系統對該結點序列化表述是 [3,4,5])。 注意,我們返回了一個 ListNode 類型的對象 ans,這樣: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL.

function listNode(val, next) {
    this.val = val;
    this.next = next === undefined ? null : next;
}
// 利用快慢指針解決
// 注意鏈表長度奇偶的問題,奇數返回的就是中間那個,偶數返回的則是兩個中間點中的后一個
function middleNode(head) {
    // 快慢指針初始化
    let slow = head;
    let fast = head;

    // 快指針走到末尾時停止
    while (fast !== null && fast.next !== null) {
        // 快指針走兩步、慢指針走一步
        fast = fast.next.next;
        slow = slow.next;
    }

    // 慢指針指向中點
    return slow;
}

刪除鏈表中的倒數第n個節點

給你一個鏈表,刪除鏈表的倒數第 n 個結點,并且返回鏈表的頭結點。

示例 1:

圖片

輸入:head = [1,2,3,4,5], n = 2 輸出:[1,2,3,5]

  • 用雙指針p1、p2,然后p1先走n+1步
function ListNode(val, next) {
    this.val = val;
    this.next = next === undefined ? null : next;
}

function removeNthFromEnd(head, n) {
    // 創建一個空節點,方便刪除第一個節點的情況
    const dummy = new ListNode(null, head);
    let p1 = dummy;
    let p2 = dummy;

    // 因為要刪除倒數第n個節點,則p1則必須先走n + 1步,否則找到的則是倒數第n個,不能進行刪除
    for (let i = 0; i < n + 1; i++) {
        p1 = p1.next;
    }

    // p1和p2一起往后走,知道p1走到終點,這樣p2就是要刪除的點
    while (p1 != null) {
        p1 = p1.next;
        p2 = p2.next;
    }

    // 刪除倒數第n個節點
    p2.next = p2.next.next;

    return dummy.next;
}

const listNode = new ListNode(1, null);
listNode.next = new ListNode(2, null);
listNode.next.next = new ListNode(3, null);
listNode.next.next.next = new ListNode(4, null);
listNode.next.next.next.next = new ListNode(5, null);

console.log(JSON.stringify(removeNthFromEnd(listNode, 2)));

和為s的兩個數字

輸入一個遞增排序的數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s。如果有多對數字的和等于s,則輸出任意一對即可。

「示例 1:」

輸入:nums = [2,7,11,15], target = 9
輸出:[2,7] 或者 [7,2]
// 通過雙指針解決
function twoSum(nums, target) {
    let left = 0;
    let right = nums.length - 1;

    while (left < right) {
        const sum = nums[left] + nums[right];
        if (sum === target) {
            return [nums[left], nums[right]];
        } else if (sum > target) {
            right--;
        } else {
            left++;
        }
    }

    return [];
}
責任編輯:姜華 來源: 前端點線面
相關推薦

2023-06-05 07:30:51

2023-05-29 07:31:35

單調棧數組循環

2023-04-17 07:33:11

反轉鏈表移除鏈表

2023-04-03 07:33:05

數組排序快速排序法

2023-07-10 08:01:13

島嶼問題算法

2023-05-15 07:32:01

算法訓練滑動窗口

2023-07-03 08:01:54

2023-06-26 07:31:44

屬性物品背包

2023-06-13 06:51:15

斐波那契數算法

2023-06-19 07:31:34

普通動態規劃字符串

2021-09-23 10:53:43

數據中心

2016-08-05 20:21:51

CTO導師技術

2016-08-05 18:53:25

CTO導師技術

2021-07-08 20:22:05

AI

2013-04-22 12:58:14

TechExcel敏捷研發

2009-04-29 18:12:41

GAUPS培訓

2016-10-17 13:50:31

2013-07-13 22:38:14

微軟社區微軟MVPMWW

2015-01-04 14:54:28

IT訓練營

2016-08-04 13:41:27

CTO訓練營,技術管理
點贊
收藏

51CTO技術棧公眾號

杨幂一区二区国产精品| 一区二区三区日韩视频| 亚洲s码欧洲m码国产av| 国产精品入口久久| 欧美一区二区黄色| 欧美深夜福利视频| 91涩漫在线观看| 国产成人免费在线观看不卡| 69久久夜色精品国产69乱青草| 日韩在线免费观看av| 亚洲一区有码| 欧美午夜无遮挡| 国产成人免费高清视频| 污污视频在线免费看| 看电视剧不卡顿的网站| 97色在线播放视频| 在线日韩国产网站| 亚洲黄色录像| 欧美成人免费网站| 中文字幕国产免费| 嗯啊主人调教在线播放视频 | 在线观看成人动漫| 日韩不卡视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 日本不卡一区| 秋霞网一区二区| 国产一区二区三区免费观看| 国产成人福利网站| 国产午夜久久久| 亚洲啊v在线观看| 亚洲人成网站色ww在线| av漫画在线观看| 在线观看亚洲精品福利片| 色综合天天在线| 91免费黄视频| 大地资源网3页在线观看| 国产三级精品视频| 久久久人人爽| 人人妻人人玩人人澡人人爽| 国产成人精品免费网站| 成人午夜在线视频一区| 中文字幕日韩三级| 日韩av一二三| 国产91色在线播放| 亚洲不卡在线视频| 久久精品男女| 日本精品久久中文字幕佐佐木| 国产精品成人网站| 尤物网精品视频| 久久99热这里只有精品国产| 加勒比婷婷色综合久久| 天天做综合网| 久久夜色精品国产欧美乱| 在线观看日本黄色| 日韩精品一卡| 中文字幕一区日韩电影| 懂色av粉嫩av浪潮av| 国产一区99| 国产亚洲精品综合一区91| 国产中年熟女高潮大集合| 欧洲杯半决赛直播| 中文字幕成人精品久久不卡| 国产精品成人在线视频| 日韩影院二区| 久久久电影免费观看完整版| 成年人一级黄色片| 欧美午夜一区二区福利视频| 久久久久久久久综合| 日产电影一区二区三区| 久久经典综合| 国产精品中文字幕在线| 91欧美日韩麻豆精品| 国内久久精品视频| 不卡一区二区三区视频| 少妇人妻偷人精品一区二区| 97se亚洲国产综合自在线 | 色一情一乱一乱一区91av| 不卡视频在线看| 免费看污久久久| 97视频精彩视频在线观看| 18涩涩午夜精品.www| www.日本三级| 日本综合字幕| 69av一区二区三区| 欧美xxxxx精品| 精品国精品国产自在久国产应用| 日韩在线精品一区| 国产探花在线播放| 亚洲欧美日韩国产综合精品二区| 国产精品久久av| 99免费在线视频| 91在线云播放| 亚洲一区三区电影在线观看| 欧美日韩经典丝袜| 色综合色狠狠综合色| 国产精品自在自线| 欧美影院天天5g天天爽| 色吧影院999| 日韩欧美性视频| 麻豆精品一区二区三区| 国产精品swag| 91九色在线porn| 亚洲va欧美va天堂v国产综合| 欧洲熟妇精品视频| 97品白浆高清久久久久久| 亚洲美女自拍视频| 欧美成欧美va| 日本大胆欧美人术艺术动态| 国产精品久久久久久久久久直播| www.在线视频.com| 一区二区三区日韩欧美精品| 日日噜噜噜噜久久久精品毛片| 一区二区免费| 日韩中文字幕第一页| 自拍偷拍欧美亚洲| 国产精品自拍网站| 天堂资源在线亚洲资源| 手机在线观看av网站| 日韩一区二区在线免费观看| 永久免费毛片在线观看| 国产亚洲成人一区| 成人黄视频免费| 麻豆网站在线看| 91国模大尺度私拍在线视频| 精品人妻一区二区三区日产| 午夜亚洲福利| 91色琪琪电影亚洲精品久久| 成年午夜在线| 一本到一区二区三区| 国产女人18毛片水真多18| 亚洲最新色图| 91欧美日韩一区| 在线观看精品一区二区三区| 色偷偷成人一区二区三区91| 北岛玲一区二区| 激情视频一区| aa成人免费视频| 在线免费观看的av| 日韩一区二区三区四区五区六区| 国产成人在线网址| 美腿丝袜亚洲三区| 日韩欧美在线一区二区| 小黄鸭精品aⅴ导航网站入口| 亚洲黄色片网站| 日韩少妇高潮抽搐| 成人免费精品视频| 国产色一区二区三区| jazzjazz国产精品久久| 欧美激情综合亚洲一二区| japanese国产| 亚洲自拍偷拍av| 性高潮免费视频| 亚洲高清资源| 国产日本一区二区三区| 成人高潮aa毛片免费| 欧美变态tickling挠脚心| 久久久久久久福利| 成人午夜免费av| 青青青在线观看视频| 粉嫩久久久久久久极品| 欧美精品18videosex性欧美| 性一交一乱一色一视频麻豆| 亚洲电影第三页| 日本黄色录像片| 一区二区三区福利| 欧美精品一区二区视频| 草莓视频成人appios| 中文字幕在线看视频国产欧美| 亚洲无码精品在线播放| 日韩美女视频19| 色一情一区二区| 欧美在线免费| 国产视频一区二区三区四区| 欧美18av| 久久伊人精品天天| 丰满人妻一区二区| 在线欧美小视频| 日本妇女毛茸茸| 99精品国产一区二区三区不卡| 日日碰狠狠躁久久躁婷婷| 日韩黄色大片网站| 97人人澡人人爽| 中文一区一区三区高中清不卡免费| 国产午夜精品视频| 99久久国产热无码精品免费| 精品日本美女福利在线观看| 美国美女黄色片| 国产成人精品www牛牛影视| 黄色片久久久久| 91av精品| 免费亚洲一区二区| 99久久99九九99九九九| 91av视频在线观看| 成年女人的天堂在线| 日韩亚洲欧美在线| 91视频久久久| 亚洲一区在线观看视频| 欧美多人猛交狂配| 国产激情一区二区三区桃花岛亚洲| 波多野结衣家庭教师在线播放| 91免费精品| 久久青青草综合| 韩国三级大全久久网站| 日本精品久久久| 黄色在线看片| 日韩中文字幕国产精品| 日韩电影免费| 日韩欧美一区电影| 中文字幕一区二区三区免费看| 亚洲第一在线综合网站| 亚洲综合久久av一区二区三区| 99久久99久久精品国产片果冻| 亚洲怡红院在线| 天堂成人免费av电影一区| 久艹在线免费观看| 国产韩日影视精品| 日韩电影大全在线观看| 久久视频在线观看| www.久久爱.cn| 日韩免费在线电影| 国产成人精品综合| 美女扒开腿让男人桶爽久久软| 久久国产精品网站| 国产高清视频免费最新在线| 日韩成人在线网站| 亚洲国产精品18久久久久久| 欧美福利电影网| 蜜臀尤物一区二区三区直播| 精品色蜜蜜精品视频在线观看| 久久综合激情网| 一区二区在线观看不卡| 在线观看黄网址| 国产精品超碰97尤物18| 欧洲美熟女乱又伦| 久久久久久久久97黄色工厂| 一二三不卡视频| av一区二区三区四区| yjizz视频| 成人性视频免费网站| 超碰人人cao| 国产米奇在线777精品观看| 福利片一区二区三区| 美女一区二区久久| xxx国产在线观看| 久久精品二区亚洲w码| 91热这里只有精品| 日本成人在线电影网| 中文字幕国产免费| 久久国产成人午夜av影院| 午夜国产一区二区三区| 蜜桃视频在线观看一区| 中文字幕免费高清在线| 久久国产剧场电影| 午夜免费福利网站| 风间由美性色一区二区三区| 在线播放av网址| av中文字幕一区| 在线免费播放av| 久久综合久久久久88| 亚洲AV无码成人精品区明星换面 | 欧美中文娱乐网| 俺要去色综合狠狠| 在线亚洲美日韩| 欧美日本亚洲韩国国产| 分分操这里只有精品| 免费在线播放第一区高清av| 一级在线免费视频| 国产在线不卡一区| 人妻激情偷乱频一区二区三区 | 婷婷综合在线视频| 亚洲欧美日韩国产另类专区| 九九热精彩视频| 黑人狂躁日本妞一区二区三区 | 免费成人av在线播放| 拔插拔插华人永久免费| 成人综合婷婷国产精品久久蜜臀| 欧美 日本 国产| 国产精品网站在线播放| 欧美日韩一级大片| 欧美午夜激情在线| 亚洲特级黄色片| 精品粉嫩aⅴ一区二区三区四区| 日本中文字幕一区二区有码在线 | 中文天堂资源在线| 亚洲精品视频在线观看网站| 亚洲欧美在线观看视频| 91国产成人在线| 亚洲国产精品久久久久久久 | 无码人妻精品一区二区三应用大全| 欧美激情一区二区三区四区 | 欧美性高潮床叫视频| 天天操天天干天天摸| 欧美变态tickling挠脚心| 国产乱理伦片a级在线观看| 久久6免费高清热精品| 深夜成人福利| caoporen国产精品| 日韩av在线播放网址| 久久99中文字幕| 久久se这里有精品| 一本色道综合久久欧美日韩精品| 18成人在线视频| 国产在线观看第一页| 精品国产伦一区二区三区观看方式| 高清国产福利在线观看| 91精品国产91久久久久久久久| 四虎国产精品免费久久| 久久久com| 国内精品久久久久久久影视蜜臀 | 国产不卡在线一区| 蜜桃av免费观看| 色欲综合视频天天天| 日韩在线观看视频一区二区三区| 中文字幕亚洲欧美一区二区三区| 毛片电影在线| 国产精品伊人日日| 亚洲精品成人影院| 99热手机在线| 久久九九久精品国产免费直播| 国产在线视频二区| 欧美一区二区三区性视频| 91社区在线| 国产精品久久久久久久美男| 亚洲精品蜜桃乱晃| 少妇人妻在线视频| 国产成a人无v码亚洲福利| 在线观看黄网址| 在线成人小视频| 日本综合在线| 国产精品免费一区豆花| 亚洲精品国产setv| 成年网站在线免费观看| 99久久久国产精品| 日韩xxxxxxxxx| 亚洲成av人乱码色午夜| 欧美人与禽性xxxxx杂性| 亚洲精品欧美日韩专区| 自拍日韩欧美| 超碰在线超碰在线| 亚洲精品乱码久久久久久久久 | 成人激情免费网站| 九九免费精品视频| 欧美xxx久久| 免费电影网站在线视频观看福利| 亚洲一区二区免费| 亚洲成人国产| 日本wwwxx| 亚洲曰韩产成在线| 欧美 日韩 综合| 性色av一区二区三区| 欧美jizz19性欧美| 久久无码高潮喷水| 久久精品男人天堂av| 中文在线字幕免费观| 日韩在线视频播放| 国产精品一区二区三区www| 国产又粗又爽又黄的视频| 国产麻豆午夜三级精品| 激情五月婷婷小说| 精品乱人伦小说| 日本免费一区二区六区| 欧美午夜视频在线| 免费人成黄页网站在线一区二区| 娇小11一12╳yⅹ╳毛片| 91精品国产麻豆国产自产在线 | 欧美性xxxxx| 可以直接在线观看的av| 国产日本欧美一区二区三区在线| 91av精品| 极品白嫩丰满美女无套| 在线观看亚洲精品视频| 黄网站在线免费| 成人av片网址| 香蕉精品999视频一区二区| 亚洲精品天堂网| 日韩精品在线一区| 在线手机中文字幕| 亚洲国产日韩欧美| 国产91丝袜在线播放| 免费观看日批视频| 久久久成人av| 亚洲ab电影| 亚洲第一成肉网| 婷婷开心久久网| 日本三级视频在线播放| 成人看片视频| 日韩电影在线一区二区三区| 青青草在线观看视频| 亚洲精品一区二区久| 亚瑟国产精品| 亚洲 欧美 日韩 国产综合 在线 | 亚洲一区二区三区免费观看| 高清国产一区二区三区| 青青国产在线视频| 久久国产精品电影| 精品国产一区一区二区三亚瑟 | 国产成人aa在线观看网站站| 国产一级做a爰片久久| 亚洲综合在线五月| 天天影视久久综合|