【雙指針】刪除有序數組中重復元素,雙指針原地修改數組

刪除有序數組中重復元素

鏈接

. - 力扣(LeetCode). - 備戰技術面試?力扣提供海量技術面試資源,幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/remove-duplicates-from-sorted-array/submissions/506815716/

題目

題解

雙指針思想:異地變本地,可以先模擬將該數組元素移動到另一個新的數組時進行去重操作,我們只需要遍歷一遍數組,在遍歷時判斷是否與l指針指向的元素相同,如果相同就不移動到新的數組,如果不相同就移動到新的數組里。這樣就完成了去重操作。我們可以根據上面的思路,采用雙指針的思想在本地數組上模擬上述操作

代碼
class Solution {
public:
int removeDuplicates(vector<int>& nums) {int left = 0, right = 1;for (; right < nums.size();){if (nums[right] == nums[left]) right++;else nums[++left] = nums[right++];}return left + 1;
}
};

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

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

相關文章

宏定義中#與##的注意事項

1. #是字符串化操作符。它的作用是將宏參數轉換成字符串 2. ##是標記粘貼操作符。它的作用是將兩個標記連接起來形成一個新的標記 #define TEST1(a) #a #define TEST2(a) b##a/***********************************************************/ 舉例&#xff1a;TEST1(hello) 會…

python virtualenv創建虛擬環境

文章目錄 安裝virtualenv在當前目錄創建虛擬環境命令進入虛擬環境激活虛擬環境查看python版本退出虛擬環境 安裝virtualenv pip install virtualenv在當前目錄創建虛擬環境命令 python -m virtualenv venvPS E:\coding\bertopic> python -m virtualenv venv created virtu…

Linux:Nginx服務重寫功能

目錄 一、重寫功能 1.重寫功能作用 2.rewrite指令 if指令 return指令 set指令 break指令 3.rewrite標志 redirect標志 permanent標志 break標志 last標志 rewrite標志實驗 一、重寫功能 1.重寫功能作用 重寫功能(rewrite)用于實現URL的重寫&#xff0c;URL的重寫是非常有用…

LC打怪錄 283. moving zero

題目鏈接 力扣 class Solution:def moveZeroes(self, nums: List[int]) -> None:l0for r in range(len(nums)):if nums[r]:nums[l], nums[r] nums[r], nums[l]l 1return nums 方法一&#xff1a; 思路 雙指針 1. def moveZeroes(self, nums: List[int]) -> None: …

Stable Diffusion 3正式發布,旨在鞏固其在AI圖像領域相對于Sora和Gemini的領先地位

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

vue3 + vite 項目可以使用純Js開發嗎?

答案&#xff1a;可以 創建項目&#xff1a; 按照鏈接參考或者按官方&#xff1a; webstorm 創建vue3 vite 項目-CSDN博客 項目目錄 tsconfig.json 配置允許js allowJs指定是否編譯js文件&#xff0c;在任意文件當中,如果我們模塊使用js寫的&#xff0c;那么我們需要 將all…

地理空間分析15——Python在應急響應與地理空間分析中的創新應用

目錄 寫在開頭1.Python及其在地理空間分析中的應用地理空間數據處理庫地理空間數據可視化工具 2.應急響應中的Python應用實例2.1 災害風險評估2.2 實時數據分析與響應2.3資源優化分配 3 地震應急響應案例&#xff1a;利用Python進行數據分析3.1 背景介紹3.2 數據收集與處理3.3 …

鏈式插補 (MICE):彌合不完整數據分析的差距

導 讀 數據缺失可能會扭曲結果&#xff0c;降低統計功效&#xff0c;并且在某些情況下&#xff0c;導致估計有偏差&#xff0c;從而破壞從數據中得出的結論的可靠性。 處理缺失數據的傳統方法&#xff08;例如剔除或均值插補&#xff09;通常會引入自己的偏差或無法充分利用數…

機器學習:模型選擇和模型優化

進行數據處理之后&#xff0c;我們得到了x_train和y_train&#xff0c;我們就可以用來進行回歸或分類模型訓練啦~ 一、模型選擇 我們這里可能使用的是回歸模型&#xff08;Regression&#xff09;&#xff0c;值得注意的是&#xff0c;回歸和分類不分家。分類是預測離散值&…

策略的更新、加載與同步

C語言的C庫提供了策略的更新、加載與同步的方法&#xff0c;這里引入多線程&#xff0c;達到區分讀寫任務&#xff08;生產者——消費者 模型&#xff09;的目的。 示例&#xff1a; /*brief check strategy to update, reload, synchronized to read(stoped by SIGINT)author…

Mysql標量子查詢

目錄 子查詢標量子查詢數據準備 子查詢 SQL語句中嵌套select語句&#xff0c;稱為嵌套查詢&#xff0c;又稱子查詢。 SELECT * FROM t1 WHERE column1 ( SELECT column1 FROM t2 ... );子查詢外部的語句可以是insert / update / delete / select 的任何一個&…

git的安裝、使用

文章目錄 安裝gitgit學習網站git初始配置具體配置信息 新建版本庫&#xff08;倉庫&#xff09;git的工作區域和文件狀態工作區域文件狀態git文件提交的基礎指令 git基礎指令1. 版本提交2. 分支創建3. 分支切換4. 分支合并(1) git merge(2) git rebase 5. 在git的提交樹上移動(…

Ps:銳化工具

銳化工具 Sharpen Tool可用于增強圖像局部區域的對比度&#xff0c;從而提高圖像的清晰度和細節&#xff0c;特別適用于提升照片的邊緣定義和紋理細節。 快捷鍵&#xff1a;無 ◆ ◆ ◆ 常用操作方法與技巧 1、如果直接在像素圖像上使用銳化工具&#xff0c;可嘗試使用“漸隱…

怎么優雅地訪問ChatGPT

ChatGPT&#xff0c;這顆璀璨的智能結晶&#xff0c;在2022年歲末之際&#xff0c;由OpenAI實驗室傾力鑄就&#xff0c;猶如夜空中躍動的智慧星辰&#xff0c;點亮了人工智能領域的新紀元。猶如汪洋中的一座燈塔&#xff0c;ChatGPT以其獨特的智慧光輝引人注目&#xff0c;然而…

Linux:kubernetes(k8s)node節點加入master主節點(3)

Linux&#xff1a;kubernetes&#xff08;k8s&#xff09;搭建mater節點&#xff08;kubeadm&#xff0c;kubectl&#xff0c;kubelet&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/136415575?spm1001.2014.3001.5502 我在上一章部署好了主節點&…

前端打包部署(黑馬學習筆記)

我們的前端工程開發好了&#xff0c;但是我們需要發布&#xff0c;那么如何發布呢&#xff1f;主要分為2步&#xff1a; 1.前端工程打包 2.通過nginx服務器發布前端工程 前端工程打包 接下來我們先來對前端工程進行打包 我們直接通過VS Code的NPM腳本中提供的build按鈕來完…

從下一代車規MCU厘清存儲器的發展(2)

目錄 1.概述 2.MCU大廠的選擇 2.1 瑞薩自研STT-MRAM 2.2 ST專注PCM 2.3 英飛凌和臺積電聯手RRAM 2.4 NXP如何計劃eNVM 3.小結 1.概述 上篇文章&#xff0c;我們簡述了當前主流的存儲器技術&#xff0c;現在我們來講講各大MCU大廠的技術選擇 2.MCU大廠的選擇 瑞薩日…

redis的RDB和AOF

Redis是一種高性能的鍵值對存儲系統&#xff0c;它支持多種類型的數據結構&#xff0c;如字符串、列表、集合、哈希表、有序集合等。Redis提供了兩種不同的持久化機制來確保數據的安全性&#xff1a;RDB&#xff08;Redis Database&#xff09;和AOF&#xff08;Append Only Fi…

Tomcat布署及優化二-----Mysql和虛擬機

1.Mysql搭Blog 1.1下載安裝包 看一下tomcat狀態 1.2放到指定目錄 cp jpress-v3.2.1.war /usr/local/tomcat/webapps/ cd /usr/local/tomcat/webapps/ 1.3路徑優化 ln -s jpress-v3.2.1 jpress 看jpress權限 1.4生成配置文件 cat >/etc/yum.repos.d/mysql.repo <<E…

掘根寶典之C語言指針詳解

目錄 什么是指針&#xff1f; 與指針相關的運算符 指針類型的意義 指針的大小 初始化 將指針直接指向一個已經存在的變量或內存地址&#xff1a; 使用malloc函數動態分配內存&#xff0c;并將指針指向新分配的內存&#xff1a; 使用calloc函數動態分配內存&#xff0c;并…