Java面试经典 150 题.P26. 删除有序数组中的重复项(003)

本题来自:力扣-面试经典 150 题

面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/

题解:

java 复制代码
class Solution {
    public int removeDuplicates(int[] nums) {
        int count = nums.length;
        int sb = 10001;

        for(int i = 0;i < nums.length - 1;i++){
            if(nums[i] == nums[i + 1]){
                nums[i] = sb++;
                count--;
            }
        }
        Arrays.sort(nums);
        return count;
    }
}

思路如下:

数组中值大小有限制:

1.遍历数组,遇到相同的数时

1.1使用更大的数替换前一个相同的数字

1.2 计数器count--

2.遍历结束后对数组进行排序

相关推荐
秋风&萧瑟6 分钟前
【数据结构】顺序队列与链式队列
linux·数据结构·windows
小孟Java攻城狮4 小时前
leetcode-不同路径问题
算法·leetcode·职场和发展
查理零世4 小时前
算法竞赛之差分进阶——等差数列差分 python
python·算法·差分
小猿_007 小时前
C语言程序设计十大排序—插入排序
c语言·算法·排序算法
熊文豪9 小时前
深入解析人工智能中的协同过滤算法及其在推荐系统中的应用与优化
人工智能·算法
siy233311 小时前
[c语言日寄]结构体的使用及其拓展
c语言·开发语言·笔记·学习·算法
吴秋霖11 小时前
最新百应abogus纯算还原流程分析
算法·abogus
灶龙12 小时前
浅谈 PID 控制算法
c++·算法
菜还不练就废了12 小时前
蓝桥杯算法日常|c\c++常用竞赛函数总结备用
c++·算法·蓝桥杯
金色旭光12 小时前
目标检测高频评价指标的计算过程
算法·yolo