刪除有序數組中的重復項(js實現,LeetCode:26)

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

考慮?nums?的唯一元素的數量為?k?,你需要做以下事情確保你的題解可以被通過:

  • 更改數組?nums?,使?nums?的前?k?個元素包含唯一元素,并按照它們最初在?nums?中出現的順序排列。nums?的其余元素與?nums?的大小不重要。
  • 返回?k?。

示例 1:

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

示例 2:

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

?解題思路:由于有要求原地刪除,所以空間復雜度必須為O(1),這里我們使用雙指針

初始狀態:

比較過程:

實現代碼:

/*** @param {number[]} nums* @return {number}*/
var removeDuplicates = function (nums) {const n = nums.lengthif (n == 0) return 0let fast = 1, slow = 1while (fast < n) {if (nums[fast] !== nums[fast - 1]) {nums[slow] = nums[fast]++slow}++fast}return slow
};

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

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

相關文章

3-9 WPS JS宏單元格復制、重定位應用(拆分單表到多表)

************************************************************************************************************** 點擊進入 -我要自學網-國內領先的專業視頻教程學習網站 *******************************************************************************************…

大白話react第十六章React 與 WebGL 結合的實戰項目

大白話react第十六章React 與 WebGL 結合的實戰項目 1. 項目簡介 React 是一個構建用戶界面的強大庫&#xff0c;而 WebGL 則允許我們在網頁上實現高性能的 3D 圖形渲染。將它們結合起來&#xff0c;我們可以創建出炫酷的 3D 網頁應用&#xff0c;比如 3D 產品展示、虛擬場景…

【AI賦能】AI 工具生成視頻教材:從創意到成品的全流程指南

AI 工具生成視頻教材&#xff1a;從創意到成品的全流程指南 目標 通過本教材&#xff0c;您將學會如何利用 AI 工具&#xff08;Grok、Sora、Speechify 和 CapCut&#xff09;生成一個完整的視頻&#xff0c;包括腳本生成、視頻片段制作、字幕添加、音頻生成以及最終剪輯合成…

C/C++藍橋杯算法真題打卡(Day2)

一、面試題 08.01. 三步問題 - 力扣&#xff08;LeetCode&#xff09; 算法代碼&#xff1a; class Solution { public:const int MOD 1e9 7;int waysToStep(int n) {// 1. 創建 dp 表// 2. 初始化// 3. 填表// 4. 返回// 處理邊界情況if (n 1 || n 2)return n;if (n 3)r…

騰訊云物聯網平臺(IoT Explorer)設備端使用

1、直接看圖流程 2、跑起來demo,修改產品id,設備名稱,設備秘鑰。 3、連接部分 4、修改默認地址和端口 sdk里面的地址默認是帶著產品ID拼接的,咱們現在中鐵沒有泛域名解析,要改下這里。把+productID都去掉,然后地址里的.也去掉。

GStreamer —— 2.13、Windows下Qt加載GStreamer庫后運行 - “教程13:播放控制“(附:完整源碼)

運行效果(音頻) 簡介 上一個教程演示了GStreamer工具。本教程介紹視頻播放控制。快進、反向播放和慢動作都是技術 統稱為 Trick Modes&#xff0c;它們都有一個共同點 修改 Normal playback rate。本教程介紹如何實現 這些效果并在交易中添加了幀步進。特別是&#xff0c;它 顯…

Dify+DeepSeek | Excel數據一鍵可視化(創建步驟案例)(echarts助手.yml)(文檔表格轉圖表、根據表格繪制圖表、Excel繪制圖表)

Dify部署參考&#xff1a;Dify Rag部署并集成在線Deepseek教程&#xff08;Windows、部署Rag、安裝Ragan安裝、安裝Dify安裝、安裝ollama安裝&#xff09; DifyDeepSeek - Excel數據一鍵可視化&#xff08;創建步驟案例&#xff09;-DSL工程文件&#xff08;可直接導入&#x…

vscode mac版本 配置git

首先使用 type -a git查看git的安裝目錄 然后在vscode中找到settings配置文件&#xff0c;修改git.path

JVM與性能調優詳解

以下是關于 JVM與性能調優 的詳細解析&#xff0c;結合理論、實踐及常見問題&#xff0c;分多個維度展開&#xff1a; 一、JVM性能調優的核心目標 性能調優的核心目標是通過優化內存管理、垃圾回收&#xff08;GC&#xff09;策略和線程管理&#xff0c;實現以下平衡&#xff…

Vue23Web 基礎性拉滿的面試題(2025版)還沒更新完...

Vue2&3 基礎性1. 關於Vue2和Vue3生命週期的差別2. Vue2&3組件之間傳參不同點Vue2 傳遞與接收Vue3 傳遞與接收 (使用script setup語法糖)Vue3 傳遞與接收 (不使用script setup語法糖) 3. Vue2&3 keep-alive 組件Vue2 keep-aliveVue3 keep-alive 進階性爲什麼POST請求…

基于SpringBoot實現旅游酒店平臺功能一

一、前言介紹&#xff1a; 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高&#xff0c;旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求&#xff0c;旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…

【程序自動分析——并查集,離散化】

題目 代碼&#xff08;注意不是把p修改為unordered_map&#xff0c;而是增加一個get&#xff09; #include <bits/stdc.h> using namespace std;const int N 2e510; //n個數據&#xff0c;可能引入2*n個離散點int p[N]; bool cannot; unordered_map<int, int> mp…

審批流AntV框架螞蟻數據可視化X6餅圖(附注釋)

大家好&#xff0c;這次使用的是AntV的螞蟻數據可視化X6框架&#xff0c;類似于審批流的場景等&#xff0c;代碼如下&#xff1a; X6框架參考網址&#xff1a;https://x6.antv.vision/zh/examples/showcase/practices#bpmn 可以進入該網址&#xff0c;直接復制下方代碼進行調試…

linux取代ls的命令行工具:eza

官方倉庫 https://github.com/eza-community/eza 安裝 cargo install eza驗證 eza --version用法 替換ls 別名 安裝文檔 官方提供的安裝文檔是這個 https://github.com/eza-community/eza/blob/main/INSTALL.md 可以通過cargo命令安裝&#xff0c;debian還可以通過apt安裝…

【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)

文章目錄 人人都該學習的DeepSeekDeepSeek不同版本功能差異DeepSeek與硬件直接的關系DeepSeek系統兼容性部署方式選擇部署步驟&#xff08;Ollama方式&#xff09;1.選定適合的deepseek版本2.環境準備3.安裝Ollama4.部署deepseek5.測試使用 人人都該學習的DeepSeek DeepSeek 作…

redis熱key

在 Redis 中&#xff0c;熱 Key&#xff08;Hot Key&#xff09; 是指被頻繁訪問的 Key&#xff0c;可能會導致以下問題&#xff1a; 性能瓶頸&#xff1a;單個 Redis 實例的 CPU 或網絡帶寬被耗盡。 數據傾斜&#xff1a;在 Redis 集群中&#xff0c;熱 Key 可能導致某個節點…

宇樹科技嵌入式面試題及參考答案(春晚機器人的公司)

目錄 設計一個帶看門狗(Watchdog)的嵌入式系統,描述故障恢復流程 在資源受限的 MCU 上實現 OTA 升級功能,描述關鍵設計點 如何實現 OTA(空中升級)功能?描述固件校驗和回滾機制的設計要點 推挽輸出與開漏輸出的區別?舉例說明其在 GPIO 控制中的應用 UART、SPI、I2C …

Axure常用變量及使用方法詳解

點擊下載《Axure常用變量及使用方法詳解.pdf》 摘要 Axure RP 作為一款領先的前端原型設計工具&#xff0c;提供了全面的 變量 和 函數 系統&#xff0c;以支持復雜的交互設計和動態內容展示。本文將從專業角度詳細解析 Axure 中的 全局變量、中繼器數據集變量/函數、元件變量…

SpringBoot - 用責任鏈模式實現業務編排

文章目錄 前因責任鏈&#xff1a;像工作臺一樣組織代碼CodeSEQ3.1 定義處理器規范3.2 實現具體處理器3.3 共享上下文3.4 組裝責任鏈 適用場景優勢 前因 2000多行的業務邏輯里&#xff0c;各種校驗規則、促銷計算、庫存操作像意大利面條一樣纏繞在一起。最要命的是這樣的代碼結…

upload-labs詳解(13-20)文件上傳分析

目錄 upload-labs-env upload-labs-env第十三關 文件包含漏洞 代碼 測試 上傳一個.jpg圖片 上傳一個.png文件 上傳一個.gif圖片 upload-labs-env第十四關 代碼 思路 upload-labs-env第十五關 代碼 思路 upload-labs-env第十六關 代碼 思路 測試 上傳gif格式…