网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月05日漏签0天
c语言吧 关注:801,731贴子:4,374,575
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回c语言吧
>0< 加载中...

不知道哪错了,力扣里面做的调试不了

  • 只看楼主
  • 收藏

  • 回复
  • 贴吧用户_54b3Pyt
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上面是题目,下面是我写的代码,再在下面是我在VS上写的main函数,为了测试代码。
我把代码转到VS上去测试,然后根据题目上给出的三个实例去输入,然后输出,输出的结果是对的(符合题目要求)。
大概思路是:思路是,找两个数分别指向nums1,nums2,在设定一个nums1的最大值(它的0之前的最大数);循环n次,用n-src控制,src是指向nums2的,当它到达最后一个数,nums2中的数字全部转移到nums1中时,src等于n,循环截至;循环里面,判断dst指向的nums1的值和nums2的值,大于时,用memmove把nums1中的值向后移动,把src指向的值插入进去,然后dst和src都加加,即让dst重新指向判断中大于src指向的值的那个数,src++为了指向nums2中的下一个数;若是小于,则dst++,指向下一个可以大于src指向的数;其中,当dst指向nums1中最大的数时,还是小于src指向的数时,则跳出循环;将剩余的src指向数直接插入到nums1后面中。




  • GTA小鸡
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这道题其实很简单:从后往前排,因为数组尾部有多余空间
先决定合并后数组的最后一个元素:它一定是nums1/nums2的最后一个元素。将这个元素复制到尾部,然后把对应数组的尾指针前移。
然后决定倒数第二个元素:它一定是两个数组尾指针指向元素的其中之一。同理,重复上述操作。以此类推。
当某个数组的尾指针到头时,将另一个数组的剩余元素全部复制到余下位置即可。

你的方法显然过于复杂了。


2026-01-05 21:59:32
广告
不感兴趣
开通SVIP免广告
  • 洪水证人
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼上回答得已经很清楚了,我发言是忍不住吐槽一下出题的。语文和逻辑都不通,把递增称为“非递减”,正常的体育老师都教不出来。
代码还有个小问题就是,merge函数有4个参数就够了。第一个数组的总大小相加一下就知道,不需要作为参数,第二个数组的总大小根本用不上。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示