在本篇文章里,我将分享一道很经典的算法题———合并两个有序的数组,并且分享解题思路,希望可以帮助到你😀😀😀

以下代码均经过牛客测试,均正确,请放心测试😊😊😊

解题思路:

设一个新数组C,两数组依次进行比较,小的尾插到新数组

代码:

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) { int i=m-1,j=n-1; int dst=m+n-1; while(i>=0&&j>=0) { if(nums1[i]>nums2[j]) { nums1[dst--]=nums1[i--]; } else nums1[dst--]=nums2[j--]; } while(i>0) { nums1[dst--]=nums1[i--]; } while(j>=0) { nums1[dst--]=nums2[j--]; } }

结果展示:


最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
01.“以前我觉得成绩不重要。清华、北大、复旦、交大,只能代表学生时代的成就。后来我发现,努力是种习惯,它会贯穿终生。”
02.等你优秀了,你想要的都会来找你。
03.你可以不漂亮,也可以不爱打扮,甚至可以很胖,你可以不优秀,可以不上进,甚至可以不聪明。但,我不可以。
04.头等舱可以优先登机银行VIP可以不用排队演唱会最贵的票位置也最好世界从不平等你有多努力就有多特殊.
05.多读点书,要不然你的三观是由你的亲朋好友决定的。
最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)
**愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!**