精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲欧美日韩精品久久久久| 日本欧美一区二区三区| 亚洲精品国产精品国自产在线| 国产老熟妇精品观看| 亚洲三区在线播放| 美女一区二区久久| 欧美国产日韩在线| 国产熟女一区二区| 视频一区中文字幕精品| 欧美综合在线视频| 99久久久精品视频| jizz亚洲| 不卡视频免费播放| 国产日韩欧美中文| 可以免费在线观看的av| 91成人超碰| 亚洲色图美腿丝袜| 亚洲少妇一区二区三区| 丁香婷婷久久| 欧美性xxxxxxxxx| 伊人久久在线观看| 大胆av不用播放器在线播放| 成人avav影音| 91网站免费观看| 精品视频一二三区| 一本色道久久综合亚洲精品高清 | 中文字幕第38页| 国产免费拔擦拔擦8x在线播放| 国产精品久久久久久一区二区三区| 国产另类第一区| 国产激情视频在线播放| 免费看日韩精品| 日本高清+成人网在线观看| 国内偷拍精品视频| 99精品一区| 亚洲性线免费观看视频成熟| 91精品小视频| 国产精品丝袜在线播放| 日韩一区二区三区四区五区六区| 嫩草av久久伊人妇女超级a| 草草在线观看| 亚洲午夜日本在线观看| 天天想你在线观看完整版电影免费| 欧美性videos| 国产精品乱人伦一区二区| 欧美一级爽aaaaa大片| 人妻精品无码一区二区| 国产成人在线电影| 91网站在线看| aaaa一级片| 国产一区二区在线视频| 91免费福利视频| 91在线精品入口| 精品影院一区二区久久久| 国产精品久久久久久久久久99| 麻豆成人免费视频| 日日摸夜夜添夜夜添精品视频 | 久久久久亚洲av成人片| 欧美xxx在线观看| 欧美成人亚洲成人| 久久久久97国产| 欧美精品三级| 欧美老肥婆性猛交视频| 久久久久久激情| 韩日精品视频| 国内免费精品永久在线视频| 成年免费在线观看| 久久狠狠婷婷| 国产精品免费视频xxxx| 亚洲无码久久久久久久| 国精品**一区二区三区在线蜜桃| 成人字幕网zmw| 性一交一乱一精一晶| 国产91在线观看| 久久成人资源| av播放在线| 亚洲乱码日产精品bd| 欧美一级视频免费看| 成人勉费视频| 欧美日韩国产首页| 免费看三级黄色片| 欧美一区二区三区红桃小说| 亚洲精品视频免费在线观看| 成人性视频免费看| 欧美激情日韩| 欧美在线国产精品| 一级做a爱片久久毛片| 国产99久久久国产精品免费看| 精品91免费| 一级毛片视频在线| 一区二区国产盗摄色噜噜| 欧美a在线视频| 开心久久婷婷综合中文字幕 | 无码精品视频一区二区三区| 久久久不卡网国产精品一区| 一级特黄录像免费播放全99| 青草av在线| 在线免费av一区| 人妻巨大乳一二三区| 日本国产精品| xvideos成人免费中文版| 日本少妇吞精囗交| 日韩高清一级片| 国产伦精品一区二区三区高清 | 国产女人18毛片水真多成人如厕| 99精品一级欧美片免费播放| 性欧美xxx69hd高清| 欧美高清激情brazzers| 污污内射在线观看一区二区少妇 | 中日韩美女免费视频网站在线观看| 天天综合天天做| 久久久精品午夜少妇| 91久久精品一区二区别| 国产最新视频在线观看| 亚洲一区二区三区三| 国产精品一区二区羞羞答答| 99re8这里有精品热视频免费| 国产一区二区三区毛片| 国产在线成人精品午夜| 久久国产精品第一页| 精品国产免费久久久久久尖叫| 男女啪啪在线观看| 91久久线看在观草草青青| wwwxxxx在线观看| 日韩国产一区二区| 秋霞午夜一区二区| 成人av无码一区二区三区| 日本一区二区高清| 久久免费视频3| 亚洲无线观看| 久久国产精品免费视频| 无码人妻av一区二区三区波多野| 成人动漫av在线| 青青草原网站在线观看| 不卡亚洲精品| 亚洲深夜福利在线| 天堂中文字幕在线观看| 成av人片一区二区| 国产乱子伦精品无码专区| 亚洲精品一区av| 色噜噜狠狠色综合网图区| 丁香社区五月天| 91欧美激情一区二区三区成人| 欧美又粗又长又爽做受| 免费观看亚洲天堂| 久久精品中文字幕| 亚洲手机在线观看| 国产精品久久看| 一区二区三区 日韩| 欧美伦理在线视频| 国产精品爽黄69| 亚洲1卡2卡3卡4卡乱码精品| 在线精品视频一区二区| 人妻一区二区视频| 三级久久三级久久久| 免费成人av网站| 亚洲女色av| 亚洲一级一级97网| 精品一区二区无码| 国产精品每日更新在线播放网址| 国内自拍视频网| 97精品97| 成人av中文| 国产亚洲成av人片在线观看| 亚洲精品电影网| 日本特级黄色片| 国产婷婷色一区二区三区在线| 无码日韩人妻精品久久蜜桃| 欧美一二区在线观看| 国产精品一区二区久久国产| 在线免费av网站| 这里只有精品视频在线观看| 中文字幕手机在线观看| 成人福利视频在线看| 日韩久久一级片| 日韩中文字幕高清在线观看| 91亚洲国产成人精品性色| 伊人福利在线| 亚洲精品久久视频| 国产性生活视频| 国产精品久久久久久久久图文区 | 99久久999| 欧美激情一区二区三区成人| 涩爱av在线播放一区二区| 色老汉av一区二区三区| 一起操在线播放| 成人黄色在线网站| 午夜免费一区二区| 欧美日韩视频一区二区三区| 精品国产乱码久久久久久蜜柚| 国产91在线精品| 欧美黄色片视频| 国产亚洲依依| 日韩欧美不卡一区| 精品国产xxx| 亚洲激情成人在线| 老司机福利av| 国产真实乱对白精彩久久| 国产乱子伦农村叉叉叉| 亚洲精品电影| 欧美日韩精品不卡| 日韩黄色av| 国产精品久久久久久久久影视| 2024短剧网剧在线观看| 亚洲欧美国产视频| 亚洲av无码一区二区三区dv| 91久久精品午夜一区二区| 九九九免费视频| 国产精品蜜臀av| av鲁丝一区鲁丝二区鲁丝三区| 激情综合网最新| 北条麻妃在线一区| 综合激情网站| 一区二区三区欧美在线| 青青视频一区二区| 亚洲最大成人网色| 99热播精品免费| 97精品久久久中文字幕免费| 欧美成人三区| 在线观看视频99| 欧美日韩激情视频一区二区三区| 精品免费99久久| 国产熟女一区二区丰满| 在线观看精品一区| 69视频免费在线观看| 亚洲成国产人片在线观看| a一级免费视频| 国产肉丝袜一区二区| 国产毛片毛片毛片毛片毛片毛片| 国产一二精品视频| 亚洲小视频网站| 日本大胆欧美人术艺术动态| 国产一区二区三区精彩视频| 亚洲毛片在线| 久久手机在线视频| 欧美激情视频一区二区三区在线播放 | 久久久国产精品亚洲一区| 国内三级在线观看| 亚洲人成网站色ww在线| 桃花色综合影院| 日韩精品中文字| 日本在线丨区| 亚洲乱亚洲乱妇无码| 天堂网av2014| 亚洲精品成人av| 亚洲欧美综合一区二区| 精品爽片免费看久久| 亚洲欧美日韩动漫| 亚洲人成毛片在线播放| 青青青草网站免费视频在线观看| 亚洲国产毛片完整版| 老熟妇高潮一区二区高清视频| 日韩片之四级片| 亚洲av综合色区无码一区爱av | 中文字幕一区二区三区人妻在线视频 | 一区二区日韩av| 久久久精品国产sm调教| 亚洲国产wwwccc36天堂| 亚洲一区二区91| 精品久久久久久电影| 亚洲永久精品在线观看| 一道本成人在线| 成人黄色片在线观看| 91精品国产综合久久香蕉的特点| 97成人免费视频| 日韩视频一区二区在线观看| 亚洲av无码专区在线| 日韩精品免费视频| 久色视频在线| 日韩中文字幕网| 天天色天天射天天综合网| 久久久久久久久久久免费| 美女搞黄视频在线观看| 国产99久久精品一区二区| av成人在线看| 99re国产视频| 欧美日韩导航| 视频在线99re| 你懂的国产精品| 欧美一级在线看| 久久99国产精品成人| 无码人妻丰满熟妇啪啪网站| 久久久久久麻豆| 亚洲区一区二区三| 亚洲1区2区3区视频| 999视频在线| 欧美一区二区性放荡片| 五月婷婷免费视频| 综合网中文字幕| 日本资源在线| 日本欧美精品在线| 99er精品视频| 欧美久久综合性欧美| 亚洲成人日韩| 日本在线视频www| 国产乱码精品一区二区三| 性色av蜜臀av色欲av| 中文字幕一区在线观看视频| 国产午夜精品无码| 欧美三级电影精品| 全部免费毛片在线播放一个| 这里只有精品久久| 国内激情视频在线观看| 国产精品青草久久久久福利99| 欧州一区二区三区| 欧美高清性xxxxhd| 国内激情久久| 91福利国产成人精品播放| 成人午夜在线播放| 黄色激情小视频| 欧美性猛交xxxxx水多| www.黄色国产| 日韩中文字幕网| 亚洲成av在线| 精品一区二区三区国产| 综合久久99| 国内国产精品天干天干| 久久综合中文字幕| 国产一级理论片| 91精品中文字幕一区二区三区| 精品视频一二三| 4438全国成人免费| 99re热精品视频| 久久国产精品免费观看| 免费的成人av| 亚洲国产日韩一区无码精品久久久| 亚洲综合视频网| 国产女无套免费视频| 最近免费中文字幕视频2019| 成人影院大全| 美女被啪啪一区二区| 国产精品theporn| 在线免费观看av网| 中国色在线观看另类| 丰满人妻老熟妇伦人精品| 日韩大陆欧美高清视频区| 免费男女羞羞的视频网站在线观看| 成人av资源在线播放| 成人羞羞在线观看网站| 久久精品免费网站| 国产日韩欧美精品综合| 久久久久久无码午夜精品直播| 亚洲女人被黑人巨大进入| 人人草在线视频| 久久亚洲国产精品日日av夜夜| 亚洲国产99| 尤物网站在线观看| 午夜精品久久久久久久| 天天干,天天操,天天射| 久久免费观看视频| 精品五月天堂| 欧美极品欧美精品欧美图片| 久久精品人人做人人爽97 | 4438成人网| 老司机在线永久免费观看| 国产原创欧美精品| 亚洲男女av一区二区| 亚洲精品无码久久久久久久| 亚洲手机成人高清视频| 亚洲第一页综合| 久久久久国产精品www| 国产精品天天看天天狠| jizzjizzxxxx| 亚洲国产成人午夜在线一区| 在线观看毛片av| 免费91在线视频| 美女一区2区| 亚洲乱码国产一区三区| 国产精品电影院| 亚洲精品无遮挡| 欧美一级免费看| 欧美日韩一二| 乳色吐息在线观看| 精品av在线播放| 成人不用播放器| 97超碰人人看人人| 国产亚洲精品bv在线观看| 欧美老女人性生活视频| 欧美一级夜夜爽| 最新中文字幕在线播放| 亚洲图片都市激情| 国产成人在线视频免费播放| 免费日韩一级片| 中文字幕亚洲在线| 北条麻妃一区二区三区在线| 蜜臀av午夜一区二区三区| 亚洲欧美综合另类在线卡通| 俄罗斯嫩小性bbwbbw| 国产成+人+综合+亚洲欧洲 | 欧美成人亚洲成人| 香蕉久久99| 国产成人美女视频| 午夜精品久久久| 三级外国片在线观看视频| 91久久大香伊蕉在人线| 三级欧美在线一区| 中文字幕av免费在线观看| 亚洲欧洲一区二区三区在线观看| 91麻豆精品一二三区在线| 久久久久久久久久久视频|