当前位置: 首页 > article >正文

删除有序数组中的重复项(26)

26. 删除有序数组中的重复项 - 力扣(LeetCode)

解法:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) 
    {
        auto first = nums.begin();
        auto last = nums.end();
        auto result = first;

        if (first == last) {
            return std::distance(first, last);
        }

        while (++first != last){
            if (!(*result == *first) && ++result != first){
                *result = std::move(*first);
            }
        }
        ++result;

        //nums.erase(result, last);

        return std::distance(nums.begin(), result);

    }
};

总结:

计算时间复杂度O(N),空间复杂度O(1),解法代码用了是std::unqiue的代码。


http://www.kler.cn/a/586924.html

相关文章:

  • [网络] 网络基础概念--socket编程预备
  • Ubuntu 24 常用命令方法
  • 【Git】配置Git
  • 按钮权限的设计及实现
  • uniapp-x vue 特性
  • 在线 SQL 转 SQLAlchemy:一键生成 Python 数据模型
  • AcWing--870.约数个数
  • Windows环境下安装部署dzzoffice+onlyoffice的私有网盘和在线协同系统
  • Java中的I/O
  • 通过qemu仿真树莓派系统调试IoT固件和程序
  • 深度解析国产推理大模型DeepSeek:从入门到本地化部署!
  • C++Primer学习(7.1 定义抽象数据类型)
  • FPGA为何要尽量减少组合逻辑的使用
  • 人工智能与人的智能,改变一生的思维模型【8】逆向思维
  • 国家网络安全事件应急预案
  • DC-6靶机详解
  • Vue3 Pinia $subscribe localStorage的用法 Store的组合式写法
  • 基于变分推理与 Best‑of‑N 策略的元 Prompt 自动生成与优化框架
  • 《Python实战进阶》No24: PyAutoGUI 实现桌面自动化
  • Spring Cloud LoadBalancer 原理与实践