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

张家口网站建设公司柒零叁网站建设湖南长沙

张家口网站建设公司,柒零叁网站建设湖南长沙,游戏推广好做吗,邯郸学校网站建设费用数组去除重复项的算法#xff1a; Ⅰ、删除排序数组中的重复项(注意#xff1a;是已经排好序的)#xff1a;1、题目描述#xff1a;2、解题思路#xff1a;3、实现代码#xff1a; Ⅳ、小结#xff1a; Ⅰ、删除排序数组中的重复项(注意#xff1a;是已经排好序的) Ⅰ、删除排序数组中的重复项(注意是已经排好序的)1、题目描述2、解题思路3、实现代码 Ⅳ、小结 Ⅰ、删除排序数组中的重复项(注意是已经排好序的) 1、题目描述 给定⼀个排序数组你需要在 原地 删除重复出现的元素使得每个元素只出现⼀次返回移除 后数组的新⻓度; 不要使⽤额外的数组空间你必须在 原地 修改输⼊数组 并在使⽤ O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums [1,1,2], 函数应该返回新的⻓度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新⻓度后⾯的元素。 示例 2: 给定 nums [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的⻓度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 你不需要考虑数组中超出新⻓度后⾯的元素。 2、解题思路 使⽤快慢指针来记录遍历的坐标(我认为这是 C 的思想) A、开始时这两个指针都指向第⼀个数字 B、如果两个指针指的数字相同则快指针向前⾛⼀步 C、如果不同则两个指针都向前⾛⼀步 D、当快指针⾛完整个数组后慢指针当前的坐标加 1 就是数组中不同数字的个数 实际上这就是双指针中的快慢指针。在这⾥快指针是读指针 慢指针是写指针。从读写指针考 虑 我觉得更符合本质。 注意要点 A、这道题如果不要求O(n) 的时间复杂度 O(1) 的空间复杂度的话会很简单。 但是这道题是要求的这种题的思路⼀般都是采⽤双指针。 B、如果是数据是⽆序的就不可以⽤这种⽅式了从这⾥也可以看出排序在算法中的基础性 和重要性。 C、注意 nums 为空时的边界条件。 3、实现代码 方式一、符合解题思路的代码与截图 A、代码为 // 去重函数 var removeDuplicates function (nums) {const size nums.length;if (size 0) return 0;let slowP 0;for (let fastP 0; fastP size; fastP) {if (nums[fastP] ! nums[slowP]) {slowP;nums[slowP] nums[fastP];}}return slowP 1; };// 发现此时的输出结果为5(且此时的数组情况也是想要的结果看方式二) removeDuplicates([1,1,2,3,4,4,4,5]) B、截图为 方式二、将非重复数组的长度及数组值输出的代码与截图 A、代码为 // 去重函数 var removeDuplicates function (nums) {const size nums.length;if (size 0) return 0;let slowP 0;for (let fastP 0; fastP size; fastP) {if (nums[fastP] ! nums[slowP]) {slowP;nums[slowP] nums[fastP];}}slowP// 下面注释的着两种操作都可以仅将想要的 nums 数组非重复的数据全展示出来(均已实践证实);// nums.splice(slowP)// nums nums.splice(0,slowP)return {slowP, nums}; };// 此时的输出结果为{slowP: 5,nums: [1,2,3,4,5,4,4,5]} removeDuplicates([1,1,2,3,4,4,4,5])// 当然倒序也是没有问题的(已实践证实); // removeDuplicates([9,9,8,8,7,7,7,6,2,1])// 但无序有问题(即只支持排序数组); // removeDuplicates([1,5,11,5,7,1,8,9,9,9,9,]) 执行 removeDuplicates([1,1,2,3,4,4,4,5]) 函数后代码执行的过程nums[fastP]值 fastP值 nums[slowP]值 slowP值1 0 1 01 1 2 2 2 13 3 3 24 4 4 34 5 4 6 5 7 5 4 // 此时 fastP 及 slowP 的值对应的 nums 的值就是最终的数组值; B、截图为 方式三、可能存在的问题 A、代码为 // 去重函数 var removeDuplicates function (nums) {const size nums.length;if (size 0) return 0;let slowP 0;// 此时若是这里 fastP size 修改为 fastP size输出的 slowP 值没问题但 nums 数组有问题;for (let fastP 0; fastP size; fastP) {if (nums[fastP] ! nums[slowP]) {slowP;nums[slowP] nums[fastP];}}return {slowP, nums}; };removeDuplicates([1,1,2,3,4,4,4,5]) // 问题剖析 执行 removeDuplicates([1,1,2,3,4,4,4,5]) 函数后代码执行的过程nums[fastP]值 fastP值 nums[slowP]值 slowP值1 0 1 01 1 2 2 2 13 3 3 24 4 4 34 5 4 6 5 7 5 4 undefined 8 undefined 5Ⅳ、小结 其一、哪里有不对或不合适的地方还请大佬们多多指点和交流 其二、若有转发或引用本文章内容请注明本博客地址(直接点击下面 url 跳转) https://blog.csdn.net/weixin_43405300,创作不易且行且珍惜 其三、有兴趣的话可以多多关注这个专栏(Vue(Vue2Vue3)面试必备专栏)(直接点击下面 url 跳转)https://blog.csdn.net/weixin_43405300/category_11525646.html?spm1001.2014.3001.5482
http://www.zqtcl.cn/news/256685/

相关文章:

  • 网站建设合同或方案书手机链接ppt在哪个网站做
  • 宁波专业做网站免费网站模板大全
  • 高站网站建设平台设计标准
  • api网站模板wordpress 函数api文件
  • 泉州哪个公司网站做的好百度反馈中心
  • 宽屏蓝色企业网站源码软件工程师英文
  • 中企动力网站建设公司网站的设计路线
  • 宠物网站制作内容正规货源网站大全
  • 网站建设pc端软件公司简介
  • 科技公司企业网站源码如何免费建购物网站
  • 用动物做网站名甘肃省城乡建设网站
  • 重庆网站制作长沙榆林网站建设
  • 加快政务公开网站建设在中企动力工作的感受
  • 佛山网站搜索排名宿迁新站seo
  • 上海免费网站建设公司南通高端网站
  • 网站被镜像 站长学院那个网站都有做莱的图片
  • 个人简历 网站开发做同城网站需要哪些手续
  • 建网站的公司南京网站权重是什么
  • 网站建设策略百度云域名没有备案怎么做网站
  • 档案网站建设图片网站名查找
  • 九亭镇村镇建设办官方网站好看的网站设计公司
  • 怎样建立门户网站怎么用wordpress模板
  • 潍坊专业建站wordpress建个人博客
  • 手把手网站开发网站建设违法行为
  • 网站模板插件做网站要审批吗
  • 建立网站如何盈利有哪些做室内设计好用的网站有哪些
  • 商城网站设计服务商网站开发时的闭包写法
  • 福建永安建设局网站如何在百度免费发布广告
  • 网站建设要用到哪些应用工具国际新闻最新消息今天2024年
  • 网站代码怎么打开门户网站建设目的