wonderful1432 2024-03-20 16:14 采纳率: 9.1%
浏览 3

力扣第26题不会了,有思路不知道怎么实现

题目描述中要求输出k,给的case却都是输出数组的,或者帮我看看能从哪里改进


int removeDuplicates(int* nums, int numsSize) {     //将重复元素置为0
    int cur = nums[0];      //第一个元素为当前元素
    int k = 0;      //k初始化为0
    for(int i = 1;i < numsSize-1;i++){
        if(nums[i]==cur){
            cur = nums[i+1];    //指向重复的后一个元素      
            nums[i] = 0;        //重复元素置为0
        }
    }
    for(int i = 0;i<numsSize;i++){  //修改数组
        if(nums[i]==0){         //第一个零元素
            for(int j = 1;j<numsSize-i-1;j++){    
                if(nums[j+i]!=0){
                    nums[i] = nums[j+i];        //非零元素挪至零元素位置
                    break;              //跳出本层循环
                }
            }
        }
    }
    for(int i = 0;i<numsSize;i++){
        if(nums[i]!=0){
            k+=1;
        }
        else break;
    }

    return k;

}
  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-20 16:14
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    题目描述中要求输出k,但是给出的算法代码中没有输出k。需要在代码末尾添加一行代码输出k的值。例如: int removeDuplicates(int* nums, int numsSize) {
    int cur = nums[0];
    int k = 0;
    for(int i = 1;i < numsSize-1;i++){
        if(nums[i]==cur){
            cur = nums[i+1];
            nums[i] = 0;
        }
    }
    for(int i = 0;i<numsSize;i++){  
        if(nums[i]==0){
            for(int j = 1;j<numsSize-i-1;j++){
                if(nums[j+i]!=0){
                    nums[i] = nums[j+i];
                    break;
                }
            }
        }
    }
    for(int i = 0;i<numsSize;i++){
        if(nums[i]!=0){
            k++;
        }
        else break;
    }
    return k;
    

    } ... int main(){ int nums[6] = {1,1,2,2,3,4}; int k = removeDuplicates(nums,6); printf("%d",k); return 0; } 输出结果为4,即表示数组中除去重复元素后,还有4个非重复元素。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月20日

悬赏问题

  • ¥15 VS2022 C++的相关代码问题咨询
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码