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

日照商城网站建设郑州网站建设公司

日照商城网站建设,郑州网站建设公司,菏泽市城乡和建设局网站,苏州企业建站公司题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…

题目描述:

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

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

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。
for (int i = 0; i < len; i++) {print(nums[i]);
}

示例 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。不需要考虑数组中超出新长度后面的元素。

提示:

  • 1 <= nums.length <= 3 * 104
  • -104 <= nums[i] <= 104
  • nums 已按升序排列

通过次数

292.7K

提交次数

476.4K

通过率

61.4%

思路和题解:

如果是  删除有序数组中的重复项只保留一次  的话,我们只需从第二个数开始遍历i,k来记录去重后的个数,k=0,如果nums[i]!=nums[i-1],就nums[k++]=nums[i]。用往前覆盖的思想。

本题就是保留一次改成了保留两次,我们还是用往前覆盖的思想,只不过要加一个变量来判断当前遍历的数有没有超过两次。

代码:

class Solution {
public:int removeDuplicates(vector<int>& nums) {int k=0,n=nums.size();bool twice=false;// //text// cout<<"i=0:[";//     for(int j=0;j<n;j++)//         cout<<nums[j]<<" ";//     cout<<"]";//     cout<<"   k=:"<<k<<"  twice=:"<<twice<<endl;for(int i=0;i<n;i++){if(twice){if(nums[i]!=nums[i-1]){//前面数字出现两次但是当前是新的数字twice=false;nums[k++]=nums[i];}}else{if(i>0&&nums[i]==nums[i-1])twice=true;nums[k++]=nums[i];//这句换到if的上面就过不了}// //test// cout<<"i="<<i<<":[";// for(int j=0;j<n;j++)//     cout<<nums[j]<<" ";// cout<<"]";// cout<<"   k=:"<<k<<"  twice=:"<<twice<<endl;}return k;}
};

要注意的是,在最后一个else里面,nums[k++]=nums[i];一定要写到if的后面,写到上面就是会错,我也不知道为什么。如果有人知道的话可以评论区指出。

http://www.15wanjia.com/news/11644.html

相关文章:

  • 临沂专业网站建设公司电话广州市口碑seo推广外包
  • 毕业设计代写网站网店营销策划方案ppt
  • 做视频网站可行吗广告营销策划
  • h5制作网站哪个好百度提交网址多久才会收录
  • 服装店网页设计网站模板软件外包公司有哪些
  • 手机智能建网站网络销售模式有哪些
  • wordpress如何换图片不显示西安优化seo托管
  • 快站app制作seo诊断专家
  • 无锡网站优化公司品牌营销推广代运营
  • 高端企业站关键词大全
  • 顺德做网站公司哪家好网络营销方式与工具有哪些
  • 江山做网站惠州网站推广排名
  • 社区网站搭建手机app推广平台
  • 佛山网站建设公司怎么选百度关键词分析工具
  • 设计网站的制作框架淘宝店铺推广
  • 自己的网站可以做淘客吗深圳网络营销怎么推广
  • 织梦做的网站南京seo排名公司
  • 网页视频下载快捷指令seo关键词搜索和优化
  • 滨州做网站的北京百度推广开户
  • 如何快速做一个网站站长素材官网
  • 如何查看一个网站是什么程序做的小红书新媒体营销案例分析
  • 网站和网页北京seo公司有哪些
  • 建设网站的价格是多少舆情监测软件
  • 哈尔滨做设计和网站的公司吗百度竞价推广的优势
  • 宁波大型网站设计公司广州关键词seo
  • 网站开发是培训石家庄seo扣费
  • 自动做效果图的网站网络服务提供者知道或者应当知道
  • wordpress修改404seo搜索优化是什么
  • 网站内容优化的主要方法seo优化销售话术
  • 张家港高端网站制作seo内容优化心得