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

相关推荐
Hesionberger3 分钟前
LeetCode105:前序中序构建二叉树(三解法)
java·数据结构·python·算法·leetcode·深度优先
@小柯555m5 分钟前
算法(移动零)
数据结构·算法·leetcode
小江的记录本6 分钟前
【Java基础】Java 8-21新特性 :JDK17:密封类、模式匹配、Record类(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·python·mysql·面试·职场和发展
重生之我是Java开发战士16 分钟前
【贪心算法】柠檬水找零,将数组和减半的最少操作次数,最大数,摆动序列, 最长递增子序列,递增的三元子序列
算法·贪心算法
Godspeed Zhao17 分钟前
从零开始学AI17——SVM的数学支撑知识
算法·机器学习·支持向量机
我爱cope19 分钟前
【力扣hot100:53. 最大子数组和】
算法·leetcode·职场和发展
枕星而眠21 分钟前
数据结构哈希表(散列表)超详细总结
c语言·数据结构·后端·散列表
一条泥憨鱼21 分钟前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
Dlrb12119 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy9 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针