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

顺序表算法题---顺序表的去重操作(第12讲)

算法题一. 移除元素

       思路一:申请一个新数组,使新数组空间大小与原数组大小相等,遍历原数组,将值不为val的数放入新数组中,再将新数组中的数导入到原数组中。时间复杂度为O(N),空间复杂度也为O(N)

       思路二:双指针法(创建两个变量)src和dst,如果src指向的数据是val,src++;如果src指向的数据不是val,赋值(src给dst),然后src和dst都++。(时间复杂度为O(N),空间复杂度为O(1))。

       总之,src在前面探路,找非val值;dst在后面站岗,保存非val值

int removeElement(int* nums, int numsSize,int val) {//创建两个变量int src=0,dst=0;while(src<numsSize){//src等于val,src++//src不等于val,先赋值然后整体++if(nums[src]!=val){nums[dst]=nums[src];dst++;}src++;}return dst;}

算法题二:删除有序数组中的重复项

   思路一:创建新数组,遍历原数组,将不重复数据导入到原数组中,再将新数组中的数据导入到原数组中。创建两个变量i和j。时间复杂度为O(N),空间复杂度为O(N)

   思路二:双指针法创建两个变量dst和src,分别指向数组起始和下一个位置,①如果src的值和dst的值相等,src++;②如果src的值和dst的值不相等,dst++,然后把src的值赋值给dst,src++

int removeDuplicates(int* nums, int numsSize) {//定义两个变量int dst=0;int src=dst+1;while(src!=numsSize){if(nums[src]!=nums[dst]){dst++;if(src!=dst){nums[dst]=nums[src];}}src++;}return dst+1;
}

 代码优化

int removeDuplicates(int* nums, int numsSize) {//定义两个变量int dst=0;int src=dst+1;while(src!=numsSize){if(nums[src]!=nums[dst]&&src!=++dst){nums[dst]=nums[src];}src++;}return dst+1;
}

算法题三:合并两个有序数组

   思路一:先合并两个数组,再对nums1进行排序,如果此时排序方法选择“冒泡排序”,则此时时间复杂度为O(N^2)。

   思路二:从后往前遍历数组,找大(谁大谁先往后放)。时间复杂度为O(N)

http://www.dtcms.com/a/589836.html

相关文章:

  • 高频面试八股文用法篇(十五)如何高效操作字符串?
  • 网站链接维护怎么做织梦 更换网站图标
  • 【Linux】TCP
  • 网站建设设计文档模板本机网站环境搭建
  • 从学术视角审视BCT与BUYCOIN生态的抗风险能力:机制、合规与价值重塑
  • web网站开发,在线%考勤管理%系统demo,基于vscode,vue,java,jdk,springboot,高德地图,mysql数据库
  • 逻辑回归(Logistic Regression)详细解释与公式推导
  • 网站搜索引擎优化建议辽宁省建设局网站
  • Rust中Protobuf使用简介
  • 【ISO8601库】日期时间解析器测试套件详解(tests.rs)
  • 游戏手柄遥控越疆协作机器人[三]
  • 怎样搭建免费网站一个网站怎么做镜像站
  • 专业网站建设套餐深圳西乡网站建设
  • 35.linux的定时器使用
  • 网站建设最好的公司哪家好太原的网站搭建公司
  • 【开题答辩全过程】以 基于SpringBoot的中央厨房系统的设计与实现为例,包含答辩的问题和答案
  • 如何做到30分钟可完成企业网站建设
  • 自己做的美食分享到网站用wordpress做网站页面显示404
  • 打工人日报#20251109
  • 沃森 | 科学突破与争议并存 / “与智者为伍” 的人生启示
  • zmaiFy自研排版与格式优化介绍
  • ESLint 是什么?
  • 车联网UDS诊断:0x22,0x2E,0x11,0x2F,0x31,0x28请求数据分析实战.
  • Python字符串详解
  • STL中容器vector -- 讲解超详细
  • 线性代数 - 特征值和特征向量可视化是什么样的
  • 不用下载劰网站的片你懂的荷塘网站建设
  • 网站优化推广软件建立微信小程序
  • 【Java Web学习 | 第七篇】JavaScript(1) 基础知识1
  • ERROR: Failed building wheel for dlib