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

麻城网站制作公司河北企业网站建设

麻城网站制作公司,河北企业网站建设,沈阳个人网站建设,DW做网站的步骤给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1&a…

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

示例 1:

输入:nums = [1,1,1,2,2,3]
输出:5, nums = [1,1,2,2,3]
解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3不需要考虑数组中超出新长度后面的元素。

示例 2:

输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
解释:函数应返回新长度 length = 7,并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3不需要考虑数组中超出新长度后面的元素。

思想:数组中的元素小于等于2时,不需要进行任何操作。只需要从第三个元素开始处理,将第三个个元素与第一个元素进行比较,如果为重复元素,则将快指针往后移动,出现不同时,则将慢指针往后移动,最后数组中剩下的元素个数为慢指针指向的下标。

代码:

int removeDuplicates(int* nums, int numsSize) {if(numsSize<=2){return numsSize;}int low=2,high=2;while(high<numsSize){if(nums[high] != nums[low-2]){nums[low]=nums[high];low++;}high++;} return low;
}

时间复杂度O(n);空间复杂度O(1)

注意:根据上述代码,如果只出现k次,可以总结如下:

int removeDuplicatesx(int* nums, int numsSize,int k) {if(numsSize<=k){return numsSize;}int low=k,high=k;while(high<numsSize){if(nums[high] != nums[low-k]){nums[low]=nums[high];low++;}high++;} return low;
}int removeDuplicates(int* nums, int numsSiz )  {return removeDuplicatesx(nums, numsSiz,2 );}

http://www.tj-hxxt.cn/news/88152.html

相关文章:

  • 网站开发使用软件公司网站页面设计
  • 网站建设基础教程视频网络广告的概念
  • 自己做游戏的网站电商从零基础怎么学
  • 冠县网站建设江苏泰州seo网络优化推广
  • qq客服代码 wordpress南宁seo推广公司
  • 中国监理建设协会网站百度搜索风云榜电脑版
  • 京东购物中心优化
  • 网站开发 青岛百度搜索网页版入口
  • 长春作网站的那家百度官方客服电话
  • 宝塔做网站聊城网站推广公司
  • 微商网站如何做推广方案合肥关键词排名
  • 浙江省电子商务网站建设营销方法有哪些
  • 做学校网站素材图片大全seo推广优化方案
  • 找事做搜索网站电子商务营销的概念
  • 日本做牛仔裤视频网站网络优化seo是什么工作
  • 做无障碍浏览网站杭州百度开户
  • 百度做的网站国外可以打开吗百度站长工具怎么关闭教程视频
  • wordpress 菜单 下拉菜单大型seo公司
  • 房地产网站建设内容seo外包品牌
  • 网站的模块最近一周新闻热点大事件
  • 建设银行上海黄浦支行网站近日网站收录查询
  • 邮件网站怎么做新乡网站优化公司价格
  • 网站图片设置品牌关键词优化哪家便宜
  • 商城用什么系统做网站百度搜索浏览器
  • 网站开发 项目的招标文件游戏代理平台
  • 做网站服务器空间宁波seo排名优化哪家好
  • 网站优化营销公司自建站模板
  • 互联网网站建设新闻企业网址怎么注册
  • 网站建设 500强建站深圳谷歌优化seo
  • 免费中文网站模板今天国内新闻