C语言代码求差错,谢谢大佬!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言代码求差错,谢谢大佬!相关的知识,希望对你有一定的参考价值。
给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。
如:
输入:nums = [0,0,1,1,1,1,2,3,3]
输出:7, nums = [0,0,1,1,2,3,3]
我的代码如下,请问错在哪里
int removeDuplicates(int* nums, int numsSize)
if(numsSize==NULL)
return;
int i=0,x=0;
for(int j=0;j<numsSize;j++)
if(nums[i]!=nums[j]&&(j-i)==3)
i=j-1;
nums[i]=nums[j];
x++;
return numsSize-x+1;
看起来要求输入2个参数,
实际你只输入了一个参数是不是输入少了,导致的! 参考技术B int removeDuplicates(int* nums, int numsSize)
int cnt = 0, value = nums[0], res = 0;
for(int i = 0; i < numsSize; ++i)
if(nums[i] == value) cnt++;
else cnt = 1; value = nums[i];
if(cnt <= 2) nums[res++] = nums[i];
return res;
以上是关于C语言代码求差错,谢谢大佬!的主要内容,如果未能解决你的问题,请参考以下文章
求C语言程序:如何获得一个程序运行的时间? 最好带一段简单的代码 新人学不懂 呵呵 谢谢大家啦