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.遍历结束后对数组进行排序

相关推荐
MoonBit月兔24 分钟前
双周报Vol.70: 运算符重载语义变化、String API 改动、IDE Markdown 格式支持优化...多项更新升级!
ide·算法·哈希算法
How_doyou_do28 分钟前
树状数组底层逻辑探讨 / 模版代码-P3374-P3368
数据结构·算法·树状数组
小鹿鹿啊1 小时前
C语言编程--14.电话号码的字母组合
c语言·开发语言·算法
小O的算法实验室1 小时前
2024年ESWA SCI1区TOP:量子计算蜣螂算法QHDBO,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
C语言魔术师1 小时前
509. 斐波那契数
算法·动态规划
共享家95271 小时前
栈相关算法题解题思路与代码实现分享
c++·leetcode
Wendy_robot1 小时前
【前缀和计算和+哈希表查找次数】Leetcode 560. 和为 K 的子数组
c++·算法·leetcode
o独酌o1 小时前
算法习题-力扣446周赛题解
算法·leetcode
一只鱼^_2 小时前
第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组 [京津冀]
c语言·数据结构·c++·算法·贪心算法·蓝桥杯·动态规划