kuuga557 2022-03-04 09:40 采纳率: 100%
浏览 328
已结题

被力扣第一题卡住了 只能输出[ 而不是完整数组

题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。


来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
以下是我的解题代码:
/**

  • Note: The returned array must be malloced, assume caller calls free().
  • /
    int* twoSum(int* nums, int numsSize, int target, int* returnSize){
    int i,k,fg=0;
    int ret[2]={0};
    for(i=0;i<numsSize;i++){
      fg=target-nums[i];
      for(int k = i+1;k<numsSize;k++)
      {
          if(fg==nums[k])
          {
          printf("[%d,%d]",k,i);
          break;
          }
      }
    
    }
    ret[0]=i;
    ret[1]=k;
    return ret;
    }

用C语言写的代码 然后力扣表示我的输出只有一个“[”
我还特意用printf打印了一下 能打印出正确的结果 但是打印不算 一定要函数返回的数组

  • 写回答

2条回答 默认 最新

  • 关注

    The returned array must be malloced, assume caller calls free().
    这句话已经提示你需要动态分配数组空间了,你直接在函数里面定义的局部变量,在函数执行结束后,就无效了,所以返回是错误的值。

    
    /**
     * Note: The returned array must be malloced, assume caller calls free().
     */
    int* twoSum(int* nums, int numsSize, int target, int* returnSize){
        int *array; 
        array=(int *)malloc(5*sizeof(int));
        int i,k,fg=0;
        int flag = 0;
        for(i=0;i<numsSize;i++)
        {
            fg=target-nums[i];
            for(k = i+1;k<numsSize;k++)
            {
                if(fg==nums[k])
                {
                    flag = 1;
                    //printf("[%d,%d]\n",k,i);
                    break;
                }
            }
            if(flag == 1)
            {
                break;
            }
            
        }
    
        array[0]=i;
        array[1]=k;
        *returnSize = 2;
        return array;
    
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日

悬赏问题

  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂