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

力扣刷题:数组OJ篇(上)

大家好,这里是小编的博客频道
小编的博客:就爱学编程

很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!

目录

  • 1.消失的数字
    • (1)题目描述
    • (2)解题思路
  • 2.删除数组中的重复项
    • (1)题目描述
    • (2)解题思路
  • 3.移除元素
    • (1)题目描述
    • (2)解题思路
  • 快乐的时光总是短暂,咱们下篇博文再见啦!!!如果小编的文章会对你有帮助的话不要忘了,记得给小编点赞、收藏支持一下,在此非常感谢!!!

在这里插入图片描述


废话不多说,我们直接看题。

1.消失的数字

(1)题目描述

在这里插入图片描述


(2)解题思路

按位异或

代码实现:

int missingNumber(int* nums, int numsSize) {
    int sum = 0;
    for(int i = 0; i < numsSize; i++){
        sum ^= nums[i];
    }
    for(int i = 0; i <= numsSize; i++){
        sum ^= i;
    }
    return sum;
}


2.删除数组中的重复项

(1)题目描述

在这里插入图片描述
在这里插入图片描述


(2)解题思路

双指针

代码实现:

int removeDuplicates(int* nums, int numsSize) {
    if(numsSize == 0) return 0;
    int fast = 0, slow = 0;
    while(fast < numsSize - 1){
        
        if(nums[fast] != nums[fast + 1]){
            nums[++slow] = nums[++fast];
        }
        else{
            ++fast;
        }
    }
    //实际中返回值是slow还是slow+1代值即可验证
    return slow + 1;
}

3.移除元素

(1)题目描述

在这里插入图片描述


(2)解题思路

双指针

代码实现:

int removeElement(int* nums, int numsSize, int val) {
    //确保快指针全部遍历一次即可
    int slow = 0, fast = 0;
    while(fast < numsSize){
        if(nums[fast] != val){
            nums[slow++] = nums[fast]; 
        }
        ++fast;
    }
    return slow;
}


快乐的时光总是短暂,咱们下篇博文再见啦!!!如果小编的文章会对你有帮助的话不要忘了,记得给小编点赞、收藏支持一下,在此非常感谢!!!


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

相关文章:

  • 网络安全-web渗透环境搭建-BWAPP(基础篇)
  • 基于springboot的网上商城购物系统
  • STM32烧写失败之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !
  • 【MySQL】深度学习数据库开发技术:使用CC++语言访问数据库
  • STM32供电参考设计
  • 深度学习与计算机视觉 (博士)
  • C++编程等级认证学习计划day1-1
  • [python3]Excel解析库-xlwt
  • 创建型模式-工厂模式
  • 继承(6)
  • C++ 中的 const 和 constexpr: 深入对比与最佳实践
  • HTML基础入门——简单网页页面
  • 电致变色和电泳技术在低功耗显示器中大放异彩
  • 一次完成Win10下MySQL 9.1 的安装
  • 算法的五个重要特性和4个基本标准
  • 医疗可视化大屏 UI 设计新风向
  • el-tree拖拽光标错位问题
  • oracle闪回恢复数据:(闪回查询,闪回表,闪回库,回收站恢复)
  • 本地导入封装的模块 在docker内报错ImportError
  • C#核心技术---Lambda表达式
  • SSM-SpringMVC-请求响应、REST、JSON
  • 基于 Nuxt3 + Obsidian 搭建个人博客
  • Synthesia技术浅析(四):自然语言处理
  • 深度学习J8周 Inception v1算法实战与解析
  • (leetcode算法题)2271. 毯子覆盖的最多白色砖块数
  • C++ 复习总结记录三