移除元素-JavaScript【算法學習day.04】

題目鏈接:27. 移除元素 - 力扣(LeetCode)

第一種思路
標簽:拷貝覆蓋
主要思路是遍歷數組 nums,每次取出的數字變量為 num,同時設置一個下標 ans
在遍歷過程中如果出現數字與需要移除的值不相同時,則進行拷貝覆蓋 nums[ans] = num,ans 自增 1
如果相同的時候,則跳過該數字不進行拷貝覆蓋,最后 ans 即為新的數組長度
這種思路在移除元素較多時更適合使用,最極端的情況是全部元素都需要移除,遍歷一遍結束即可
時間復雜度:O(n),空間復雜度:O(1)

第一種代碼:


var removeElement = function(nums, val) {let ans = 0;for(const num of nums) {if(num != val) {nums[ans] = num;ans++;}}return ans;
};

第二種思路
? 標簽:交換移除
? 主要思路是遍歷數組 nums,遍歷指針為 i,總長度為 ans
? 在遍歷過程中如果出現數字與需要移除的值不相同時,則 i 自增 1 ,繼續下一次遍歷
? 如果相同的時候,則將 nums[i]與nums[ans-1] 交換,即當前數字和數組最后一個數字進行交換,交換后就少了一個元素,故而 ans 自減 1
? 這種思路在移除元素較少時更適合使用,最極端的情況是沒有元素需要移除,遍歷一遍結束即可
? 時間復雜度:O(n) 空間復雜度:O(1)

第二種代碼:


var removeElement = function(nums, val) {let ans = nums.length;for (let i = 0; i < ans;) {if (nums[i] == val) {nums[i] = nums[ans - 1];ans--;} else {i++;}}return ans;
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908619.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908619.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908619.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode sql50題

在中文站沒找到對應的集合&#xff0c;想來自己動手拷貝過來&#xff0c;方便大家面試復習用&#xff0c;對應英文站點&#xff1a; https://leetcode.com/studyplan/top-sql-50/ Select #1757. 可回收且低脂的產品 鏈接: https://leetcode.cn/problems/recyclable-and-low-fa…

Dynadot專業版郵箱工具指南(五):將域名郵箱添加至Outlook客戶端

關于Dynadot Dynadot是通過ICANN認證的域名注冊商&#xff0c;自2002年成立以來&#xff0c;服務于全球108個國家和地區的客戶&#xff0c;為數以萬計的客戶提供簡潔&#xff0c;優惠&#xff0c;安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引&#xff08;包括域名郵…

【RTSP從零實踐】1、根據RTSP協議實現一個RTSP服務

&#x1f601;博客主頁&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客內容&#x1f911;&#xff1a;&#x1f36d;嵌入式開發、Linux、C語言、C、數據結構、音視頻&#x1f36d; &#x1f923;本文內容&#x1f923;&a…

Python網頁數據抓取常用的庫及方法介紹

Python網頁數據抓取常用的庫及方法介紹 摘要:以下是Python網絡數據抓取常用的6個庫的詳細介紹,包括它們的概述以及每個庫中最常用的10個函數(如果某些庫常用函數不足10個,則列出所有常用函數)。每個函數都附帶功能描述、用法說明和使用示例。這些庫在網絡爬蟲、數據…

6.5 note

一個很有意思的dfs模擬題_前序遍歷 這個問題的話前置內容顯然是字典序&#xff0c;什么是字典序呢&#xff1f; 顧名思義&#xff0c;就是詞語在字典中的順序&#xff0c;也就是我們最常說的a,abandon,ability&#xff08;我記得前三個是這個&#xff09; 這是一種字符串之間比…

day027-Shell自動化編程-基礎

文章目錄 1. 修改vim配置文件自動添加注釋2. 故障案例&#xff1a;Windows上寫的Shell腳本上傳到Linux系統上運行報錯3. 腳本運行方法4. 變量4.1 普通變量4.2 環境變量4.3 特殊變量4.4 案例&#xff1a;書寫ping檢查腳本&#xff0c;檢查腳本傳入的第一個參數4.5 面試題&#x…

2025年滲透測試面試題總結-騰訊[實習]科恩實驗室-安全工程師(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 騰訊[實習]科恩實驗室-安全工程師 一、網絡與協議 1. TCP三次握手 2. SYN掃描原理 3. HTTPS證書機制 二…

人工智能賦能高中學科教學的應用與前景研究

一、引言 1.1 研究背景 在科技飛速發展的當下&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff0c;簡稱 AI&#xff09;已成為全球矚目的關鍵技術領域&#xff0c;深刻地改變著人們的生活、工作和學習方式。從智能家居設備到智能交通系統&#xff0c;從醫療…

八、【ESP32開發全棧指南:UDP客戶端】

1. 環境準備 安裝ESP-IDF v4.4 (官方指南)確保Python 3.7 和Git已安裝 2. 創建項目 idf.py create-project udp_client cd udp_client3. 完整優化代碼 (main/main.c) #include <string.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h&…

Android Studio 解決首次安裝時下載 Gradle 慢問題

1、問題描述 第一次安裝 Android Studio 時&#xff0c; 新建工程后&#xff0c;在編譯時會自動去下載 Gradle&#xff0c;但是一般都會下載失敗&#xff0c;提示鏈接超時&#xff1a; Could not install Gradle distribution from https://services.gradle.org/distributions…

hive聚合函數多行合并

在數據倉庫和大數據處理的場景中&#xff0c;Hive提供了強大的SQL查詢能力&#xff0c;其中包括聚合函數用于處理和合并多行數據。本文將深入探討Hive中的幾種常見聚合函數及其在多行合并中的應用。 一、Hive中的常見聚合函數 Hive提供了多種聚合函數&#xff0c;這些函數可以…

關于物聯網的基礎知識(一)

成長路上不孤單&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///計算機愛好者&#x1f60a;///持續分享所學&#x1f60a;///如有需要歡迎收藏轉發///&#x1f60a;】 今日分享關于物聯網的基礎知識&#xff08;一&a…

遷移科技3D視覺系統:重塑紙箱拆垛場景的智能革命

一、傳統拆垛場景的困局與破局之道 在汽車零部件倉庫中&#xff0c;每天有超過2萬只異形紙箱需要拆垛分揀。傳統人工拆垛面臨三大挑戰&#xff1a; 效率瓶頸&#xff1a;工人每小時僅能處理200-300件&#xff0c;且存在間歇性疲勞安全隱患&#xff1a;20kg以上重箱搬運導致年…

微軟重磅發布Magentic UI,交互式AI Agent助手實測!

微軟重磅發布Magentic UI,交互式AI Agent助手實測! 何為Magentic UI? Magentic UI 是微軟于5.19重磅發布的開源Agent助手,并于24日剛更新了第二個版本0.04版 從官方的介紹來看,目標是打造一款 以人為中心 的智能助手,其底層由多個不同的智能體系統驅動,能夠實現網頁瀏覽…

Python實現快速排序的三種經典寫法及算法解析

今天想熟悉一下python的基礎寫法&#xff0c;那就從最經典的快速排序來開始吧&#xff1a; 1、經典分治寫法&#xff08;原地排序&#xff09; 時間復雜度&#xff1a;平均O(nlogn)&#xff0c;最壞O(n) 空間復雜度&#xff1a;O(logn)遞歸棧空間 特點&#xff1a;通過左右指針…

海康網絡攝像頭實時取幀轉Opencv數組格式(h,w,3),已實現python、C#

海康攝像頭取幀都是有官方demo的&#xff0c;但是將海康格式的數據轉為Opencv格式的沒有相關demo&#xff0c;而大部分深度學習圖像檢測算法(如YOLO)&#xff0c;都是用opencv格式的圖像作為輸入&#xff0c;因此將海康格式數據轉為opencv格式兼容性更強 需要代碼請私信聯系&a…

職坐標IT教育物聯網全棧開發實戰:傳感器到云平臺全鏈路

物聯網全棧開發涉及從終端感知到云端服務的全流程技術整合&#xff0c;其核心在于構建完整的“端-管-云-用”技術鏈條。為幫助開發者系統掌握這一能力&#xff0c;課程圍繞四大模塊展開&#xff1a;傳感器數據采集與處理、通信協議適配與優化、云平臺架構設計及跨平臺應用開發。…

LUFFY(路飛): 使用DeepSeek指導Qwen強化學習

論文標題 Learning to Reason under Off-Policy Guidance 論文地址 https://arxiv.org/pdf/2504.14945 代碼地址 https://github.com/ElliottYan/LUFFY 作者背景 上海人工智能實驗室&#xff0c;西湖大學&#xff0c;南京大學&#xff0c;香港中文大學 動機 目前大模型…

Android Camera Hal中通過Neon指令優化數據拷貝

背景描述&#xff1a; Camera apk普通相機模式錄像操作時&#xff0c;一般是同時請求兩個流&#xff0c;即預覽流和錄像流。對于兩個流輸出圖像格式和分辨率相同的情況下&#xff0c;是不是可以通過一個流拷貝得到另一個流的數據&#xff0c;進而節省掉一個Sensor輸出處理兩次…

WPS word 已有多級列表序號

wps的word中&#xff0c;原來已生成的文檔里&#xff0c;已存在序號。比如&#xff0c;存在2、2.1、2.1.1、2.1.1.1、2.1.1.1.1 5層序號&#xff0c;而且已分為5級。但增加內容的時候&#xff0c;并不會自動增加序號&#xff0c;應該如何解決&#xff1f; 原來長這樣&#xff…