【算法】LeetCode算法題-Remove Duplicates from Sorted Array

這是悅樂書的第149次更新,第151篇原創

01 看題和準備

今天介紹的是LeetCode算法題中Easy級別的第8題(順位題號是26)。給定一個已經排序(由小到大)的整數數組(元素可以重復),計算其中不重復元素的個數n,并將數組的前n個元素依次賦值為篩選后的不重復元素。不許使用新數組接收數據。例如:

nums = {1,1,2}
輸出不重復元素的個數為2
數組前2個元素為1和2,即nums = {1,2,2}

本次解題使用的開發工具是eclipse,jdk使用的版本是1.8,環境是win7 64位系統,使用Java語言編寫和測試。

02 分析并解題

特殊情況:如果數組中元素個數小于等于1,其不重復元素的個數即為數組的長度,也不用重新給前面的元素重新賦值。

獲取第一個元素,與第二個元素比較,如果兩數不等,count加1,數組的新第2個元素為原數組第2個元素,依次往后循環。

最后count需要加1,因為在第一次循環兩數不等的時候,count是從第二個元素開始累加的,還需要算上最開始的第一位元素。

public int removeDuplicates(int[] nums) {if (nums.length <= 1) {return nums.length;}int count = 0;for(int i=0; i<nums.length-1; i++){if (nums[i] != nums[i+1]) {count++;nums[count] = nums[i+1];}}return count+1;
}

03 小結

此題比較簡單,如果大家有什么好的解法思路、建議或者其他問題,可以下方留言交流,點贊、留言、轉發就是對我最大的回報和支持!

轉載于:https://www.cnblogs.com/xiaochuan94/p/9834468.html

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

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

相關文章

信息系統項目管理基礎(1)

項目管理基礎 項目的概念 項目是為提供一項獨特產品、服務或成果所做的臨時性努力。 我現在csdn上寫一篇名叫《信息系統項目管理基礎》的博文&#xff0c;就是項目&#xff01; 獨特性&#xff1a;這篇博文獨一無二&#xff0c;在csdn中找不出完全一樣的。 臨時性&#xf…

csgo客戶文件與服務器,csgo與遠程服務器

csgo與遠程服務器 內容精選換一換遠程連接Windows彈性云服務器后&#xff0c;不能復制、粘貼內容&#xff0c;右鍵單擊菜單欄&#xff0c;“粘貼”選項置灰。未進行本地驅動器映射。服務器rdpclip.exe進程異常。系統禁止云服務器和本地主機之間進行文件的復制粘貼功能。未進行本…

java 容器都有哪些?_適合存儲普洱茶的容器都有哪些?

收藏普洱茶的容器&#xff0c;首先強調的是無異味、無污染。就質地而言&#xff0c;收藏普洱茶的容器類型很多&#xff1a;土器、瓦器、木器、竹器、石器、陶器、瓷器、紫砂、玻璃、紙質等都可選擇使用&#xff0c;金屬、搪瓷容器密度高、透氣性差&#xff0c;如不解決透氣性問…

WPF,Silverlight與XAML讀書筆記第三十九 - 可視化效果之3D圖形

原文:WPF&#xff0c;Silverlight與XAML讀書筆記第三十九 - 可視化效果之3D圖形說明&#xff1a;本系列基本上是《WPF揭秘》的讀書筆記。在結構安排與文章內容上參照《WPF揭秘》的編排&#xff0c;對內容進行了總結并加入一些個人理解。 WPF將易用性的理念帶入了3D世界&#xf…

logisim優先編碼器怎么用_編碼器簡介、應用的stm32代碼及注釋

在機器人的旋轉關節中、或者底盤的驅動輪中&#xff0c;編碼器是一個很常用的部件&#xff0c;它用于檢測輸出軸的位置、轉速。下面我們先從它的分類開始&#xff0c;后面還有一個簡單的用法示例代碼。磁編碼器1.編碼器分類&#xff1a; 按工作原理&#xff1a;光電式、磁電式和…

數據庫查詢集合排序

/** 定義一個排序規則*/ public class ComparatorUser implements Comparator{Overridepublic int compare(Object arg0, Object arg1) {User user0(User)arg0;User user1(User)arg1;//首先比較年齡&#xff0c;如果年齡相同&#xff0c;則比較名字int flaguser0.getAge().comp…

立項管理

項目建議書 也叫立項申請項目建設單位發起主要內容&#xff1a;項目的必要性、項目市場預測、產品方案或服務的市場預測、項目建設必需的條件項目可行性研究 特點 預見性、公正性、可靠性、科學性主要內容 投資、技術、財務、組織、經濟、社會的可行性、風險因素及對策技術可行…

c++輸出方塊_【Blender】方塊波浪動畫音樂效果

先上結果&#xff1a;Blender方塊動畫效果https://www.zhihu.com/video/1232333427569262592老規矩&#xff1a;一、設置基本Wave Mesh&#xff08;波浪面&#xff09;創建Plane&#xff0c;S 8&#xff0c;這樣寬度就是2*816m了。CtrlA/Object菜單->Apply->Apply Scale—…

vue服務端渲染添加緩存

雖然 Vue 的服務器端渲染(SSR)相當快速&#xff0c;但是由于創建組件實例和虛擬 DOM 節點的開銷&#xff0c;無法與純基于字符串拼接(pure string-based)的模板的性能相當。在 SSR 性能至關重要的情況下&#xff0c;明智地利用緩存策略&#xff0c;可以極大改善響應時間并減少服…

Could not autowire. No beans of 'xxxx' type found的錯誤提示

spring 集成mybatis 找不到 beans 查了很多網頁&#xff0c;解決辦法是&#xff1a; 在PersonMapper 上加 Repositorypackage zengmiaogen.csdn.cn.mybatis;import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.ut…

怎么把頁面按比例縮小_做PPT多圖排版千萬別套模板了,按這28種版式來,絕對靠譜!...

編按&#xff1a;各種類型的PPT經常會用到圖片&#xff0c;這些圖片到底如何排版才更出色呢&#xff1f;今天給大家分享一篇PPT圖片排版手冊&#xff0c;主要介紹了多張圖常見的排版方式&#xff0c;希望能幫助到您&#xff01;嗨&#xff0c;大家好&#xff0c;我是P小白。一張…

spring boot 集成Mybatis時 Invalid bound statement (not found)

spring boot 集成Mybatis時&#xff0c;運行提示 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zengmiaogen.csdn.cn.mybatis.PersonMapper.queryPersonList 按照下文的步驟&#xff0c;解決了問題 https://blog.csdn.net/qq_3598128…

Caffe CuDNN版本與環境不同導致make錯誤

1.將./include/caffe/util/cudnn.hpp 換成最新版的caffe里的cudnn的實現&#xff0c;即相應的cudnn.hpp. 2.將./include/caffe/layers里的&#xff0c;所有以cudnn開頭的文件&#xff0c;例如cudnn_conv_layer.hpp&#xff0c;都替換成最新版的caffe里的相應的同名文件。 3.將.…

nodejs 安裝 nrm

nodejs默認源在國外&#xff0c;訪問速度慢。可以手動修改源&#xff0c;但要每次都修改。 安裝 nrm&#xff0c;指定源路徑&#xff0c;不需要每次修改 npm install nrm -g nrm ls * npm -------- https://registry.npmjs.org/ yarn ------- https://registry.yarnpkg.co…

磁盤陣列怎么做_設計與后期制作該怎么選擇筆記本電腦?朋克老師來教你

最近有很多人問我設計與后期制作該怎么選擇筆記本電腦&#xff1f;既然選擇筆記本電腦就說明在相關工作中對電腦有移動需求&#xff0c;比如自媒體、記者、影視后期出組人員等等&#xff0c;那該如何選擇呢&#xff1f;視頻剪輯咱們按工作內容分類聊一聊。第一類&#xff0c;平…

EventBus源碼分析

簡介 前面我學習了如何使用EventBus&#xff0c;還有了解了EventBus的特性&#xff0c;那么接下來我們一起來學習EventBus的源碼&#xff0c;查看EventBus的源碼&#xff0c;看看EventBus給我們帶來什么驚喜以及編程思想。 這個圖我們從一開始就一直放置在上面了。我們在來回顧…

Vue.js 概述與 MVVM 模式

一、Vue.js 1. Vue.js 是什么 Vue.js 是一個輕巧、高性能、可組件化的 MVVM 庫&#xff0c;擁有非常容易上手的 API&#xff1b; Vue.js是一個構建數據驅動的 Web 界面的庫。 2. Vue.js 的特性 1. 輕量級的框架 2. 雙向數據綁定 3. 指令 4. 插件化&#xff08;組件化&#…

ipad錄屏軟件_如何在 Mac 上優雅的截圖和錄屏

在使用電腦的時候&#xff0c;很多時候我們都需要截屏或者錄屏分享。所以你可能已經聽過 snip&#xff0c;或者經常使用 QQ、微信 等軟件來實現截屏。但是今天我們一起來看一下&#xff0c;怎么使用系統提供的功能&#xff0c;來優雅的實現截圖和錄屏。最開始的這幾篇都比較基礎…

數據庫的輔助工具:My-SqlViewer

閱讀目錄開始My-SqlViewer 使用說明程序安裝及啟動說明程序主界面DataBase瀏覽器搜索數據庫存儲過程的復制比較數據庫今天發一個我自己寫的且經常使用的數據庫的輔助工具&#xff1a;My-SqlViewer由于我比較喜歡使用存儲過程&#xff0c;但發現不管是SQL Server Management Stu…

安卓平板微信和手機微信同時登陸_Mac電腦如何同時登陸多個微信或QQ

現如今&#xff0c;微信和QQ已經不單單是簡單的社交軟件了&#xff0c;也成了工作必備軟件&#xff0c;工作中用它傳個文件&#xff0c;發個通知&#xff0c;不知道有多方便。但是很多人希望將工作圈和生活圈分開&#xff0c;有人想出拿兩部手機的方法&#xff0c;倒是可以&…