【算法】LeetCode算法题-Remove Duplicates from Sorted Array
這是悅樂書的第149次更新,第151篇原創(chuàng)
01 看題和準備
今天介紹的是LeetCode算法題中Easy級別的第8題(順位題號是26)。給定一個已經排序(由小到大)的整數(shù)數(shù)組(元素可以重復),計算其中不重復元素的個數(shù)n,并將數(shù)組的前n個元素依次賦值為篩選后的不重復元素。不許使用新數(shù)組接收數(shù)據(jù)。例如:
nums = {1,1,2}
輸出不重復元素的個數(shù)為2
數(shù)組前2個元素為1和2,即nums = {1,2,2}
本次解題使用的開發(fā)工具是eclipse,jdk使用的版本是1.8,環(huán)境是win7 64位系統(tǒng),使用Java語言編寫和測試。
02 分析并解題
特殊情況:如果數(shù)組中元素個數(shù)小于等于1,其不重復元素的個數(shù)即為數(shù)組的長度,也不用重新給前面的元素重新賦值。
獲取第一個元素,與第二個元素比較,如果兩數(shù)不等,count加1,數(shù)組的新第2個元素為原數(shù)組第2個元素,依次往后循環(huán)。
最后count需要加1,因為在第一次循環(huán)兩數(shù)不等的時候,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 小結
此題比較簡單,如果大家有什么好的解法思路、建議或者其他問題,可以下方留言交流,點贊、留言、轉發(fā)就是對我最大的回報和支持!
轉載于:https://www.cnblogs.com/xiaochuan94/p/9834468.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的【算法】LeetCode算法题-Remove Duplicates from Sorted Array的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取数据库名称dbName
- 下一篇: MySQL学习【第五篇SQL语句上】