leetcode做題筆記80刪除有序數組中的重復項 II

給你一個有序數組?nums?,請你?原地?刪除重復出現的元素,使得出現次數超過兩次的元素只出現兩次?,返回刪除后數組的新長度。

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

說明:

為什么返回數值是整數,但輸出的答案是數組呢?

請注意,輸入數組是以「引用」方式傳遞的,這意味著在函數里修改輸入數組對于調用者是可見的。

你可以想象內部操作如下:

// nums 是以“引用”方式傳遞的。也就是說,不對實參做任何拷貝
int len = removeDuplicates(nums);// 在函數里修改輸入數組對于調用者是可見的。
// 根據你的函數返回的長度, 它會打印出數組中 該長度范圍內 的所有元素。
for (int i = 0; i < len; i++) {print(nums[i]);
}

思路一:模擬題意

int removeDuplicates(int* nums, int numsSize){if (numsSize == 0) return false;int j=1,k=1;for (int i=1;i<numsSize;i++){if (nums[i] != nums[i-1]){nums[k++] = nums[i];j = 1;            }else{j++;if (j == 2){nums[k++] = nums[i];}}}return k;
}

分析:

本題已經將數組內數排列好了,可以考慮直接對每個相同的數進行計數,當記的數超過2時放置后面的數,多的重復數則不放入數組并被后面數代替。

總結:

本題涉及數組應用,將重復數代替即可解決,注意題目所給空間復雜度為O(1)

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

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

相關文章

【數據庫】P3 排序檢索數據 ORDER BY

ORDER BY 單個列排序多個列排序按列位置排序指定排序方向 ASC/DESC指定多個列進行排序 單個列排序 為了明確地排序 SELECT 語句檢索出的數據&#xff0c;可使用 ORDER BY 子句。ORDER BY 子句取一個或多個列的名字&#xff0c;據此對輸出進行排序。 例&#xff1a; DBMS 軟件…

RDMA在典型場景下的技術應用分析與探索

本文首發于&#xff1a;RDMA在典型場景下的技術應用分析與探索 1.業務適配RDMA類型 RDMA傳輸的適配&#xff0c;從業務場景的使用角度來看&#xff0c;大致可分為如下幾種類型。 場景一&#xff1a;機器學習、分布式存儲等場景&#xff0c;使用社區成熟的方案&#xff0c;如在…

c++小技巧13:中文輸出(編碼轉漢字)

目錄 1.前言 2.正文 1.直接輸出: 2.間接輸出 3.編碼(?)轉漢字&#xff08;建議直接看這個&#xff09; (書簽) 3.后文 1.前言 &#xff08;os:感覺標題中 間接不太準確&#xff0c;主要是找不到精準的用詞&#xff0c;說明一下&#xff1a;就是在不用中文的方式下輸出…

ibmtpm-TPMCmd 編譯

HASH_LIBOssl SYM_LIBOssl MATH_LIBOssl tpm工程: platform.lib libeay32.lib Windows 編譯 openssl-1.0.2p&#xff08;libeay32.lib、ssleay32.lib&#xff09;靜態庫 32/64、debug/release、MT/MTd D:\installed\mingw64\opt\bin\libeay32.dll

使用Mix-in類組合功能

為什么需要Mix-in? 在學習面向對象時我們知道&#xff0c;類可以通過繼承類獲得屬性和方法&#xff0c;通過繼承可以減少重復代碼、提高復用率。Python支持多繼承&#xff0c;一個類可以通過繼承多個類來得到它們的功能。但多繼承會帶來一些問題&#xff0c;比如屬性沖突。那…

鏈表之第一回

歡迎來到我的&#xff1a;世界 收錄專欄&#xff1a;鏈表 希望作者的文章對你有所幫助&#xff0c;有不足的地方還請指正&#xff0c;大家一起學習交流 ! 目錄 前言第一題&#xff1a;刪除鏈表的倒數第n個節點第二題&#xff1a;鏈表的中間結點第三題&#xff1a;合并兩個排序…

如何在 iOS 上安裝并使用 ONLYOFFICE 文檔

借助 iOS 版文檔應用&#xff0c;您可在移動端設備上訪問存儲于 ONLYOFFICE 賬戶中的文件&#xff0c;查看和編輯現有文本文檔、電子表格和演示文稿&#xff0c;創建新文檔并對其進行整理&#xff0c;以及連接第三方云存儲服務。您可與其他門戶網站用戶協作編輯文檔&#xff0c…

數據結構-棧和隊列

目錄 棧的概念 棧的使用 ?編輯 模擬實現棧 中綴表達式轉后綴表達式 括號匹配 出棧入棧次序匹配 隊列概念 隊列的使用 棧的概念 棧是一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素的操作.進行數據插入和刪除操作的一端稱為棧頂,;另一端稱為棧底.棧中的數據…

【Vue-Router】嵌套路由

footer.vue <template><div><router-view></router-view><hr><h1>我是父路由</h1><div><router-link to"/user">Login</router-link><router-link to"/user/reg" style"margin-left…

面試攻略,Java 基礎面試 100 問(十五)

final, finally, finalize 的區別? final&#xff1a;修飾符&#xff08;關鍵字&#xff09;有三種用法&#xff1a;如果一個類被聲明為 final&#xff0c;意味著它不能再派生出新的子類&#xff0c;即不能被繼承&#xff0c;因此它和 abstract 是反義詞。將變量聲明為 final…

動手學DL——MLP多層感知機【深度學習】【PyTorch】

文章目錄 4、多層感知機&#xff08; MLP&#xff09;4.1、多層感知機4.1.1、隱層4.1.2、激活函數 σ 4.2、從零實現多層感知機4.3、簡單實現多層感知機4.4、模型選擇、欠擬合、過擬合4.5、權重衰退4.6、丟失法|暫退法&#xff08;Dropout&#xff09;4.6.1、dropout 函數實現4…

大數據--難點--地圖的制作

地圖一直是亮點也是難點&#xff0c;剛剛進公司的時候也很難懂~~做出來的也很難看 純CSS3使用vw和vh視口單位實現h5頁面自適應&#xff0c;gulp自動監聽sass改動并保存到css中 當修改了sass里面的代碼后&#xff0c;gulp會自動監聽修改內容并同名保存到css文件夾中&#xff0…

C#字符串占位符替換

using System;namespace myprog {class test{static void Main(string[] args){string str1 string.Format("{0}今年{1}歲&#xff0c;身高{2}cm&#xff0c;月收入{3}元&#xff1b;", "小李", 23, 177, 5000);Console.WriteLine(str1);Console.ReadKey(…

02-C++數據類型-高級

數據類型-高級 4、復合類型 4.4、結構簡介 struct inflatable {char name[20];float vol;double price; };inflatable vincent; //C struct inflatable goose; //C例子 // structur.cpp -- a simple structure #include <iostream> struct inflatable // structu…

B057-spring增強 依賴注入 AOP 代理模式 創建Bean

目錄 AOP概念代理模式引出AOP實現方式xml方式實現注解方式實現 AOP 概念 事務管理&#xff1a;比如可以抽取try catch的重復代碼 日志監控&#xff1a;比如業務邏輯前后打印關于當前訂單數量的日志&#xff0c;了解業務做了什么 性能監控&#xff1a;比如業務前后打印時間&…

浪潮信息趙帥:多元算力時代 開源開放的OpenBMC成為服務器管理優先解

“多元算力時代下&#xff0c;大規模的異構服務器設備面臨多種處理器架構、多種設備協議、不同管理芯片兼容的系統化設計挑戰&#xff0c;管理固件也迎來新的變革。開源開放的OpenBMC&#xff0c;以創新的分層解耦軟件架構&#xff0c;兼容不同處理器架構、算力平臺和管理芯片&…

人流目標跟蹤pyqt界面_v5_deepsort

直接上效果圖 代碼倉庫和視頻演示b站視頻006期&#xff1a; 到此一游7758258的個人空間-到此一游7758258個人主頁-嗶哩嗶哩視頻 代碼展示&#xff1a; YOLOv5 DeepSORT介紹 YOLOv5 DeepSORT是一個結合了YOLOv5和DeepSORT算法的目標檢測與多目標跟蹤系統。讓我為您詳細解釋一…

【字典學習+稀疏編碼Sparse Encoding】簡單介紹與sklearn的實現方式

文章目錄 1、字典學習與稀疏編碼2、sklearn的實現3、示例 1、字典學習與稀疏編碼 簡單來說&#xff0c;稀疏編碼就是把輸入向量&#xff08;信號&#xff09;/ 矩陣&#xff08;圖像&#xff09;表示為稀疏的系數向量和一組超完備基向量&#xff08;字典&#xff09;的線性組合…

vim打開文件中文是亂碼

vim打開文件中文是亂碼 問題&#xff1a;在Linux系統下&#xff0c;使用cat查看含有中文的文本文件正常&#xff0c;但是使用vim打開卻是亂碼 解決方法&#xff1a; 方法一&#xff1a; 在文件中設定 在vim的退出模式下 :set encodingutf8 方法二&#xff1a; 直接寫入/etc/…

ASP.NET WEB API通過SugarSql連接MySQL數據庫

注意&#xff1a;VS2022企業版可以&#xff0c;社區版可能存在問題。實體名稱和字段和數據庫中的要一致。 1、創建項目&#xff0c;安裝SqlSugarCore、Pomelo.EntityFrameworkCore.MySql插件 2、文件結構 2、appsettings.json { “Logging”: { “LogLevel”: { “Default”: …