1 Star 0 Fork 0

苏生/小铭的c语2022

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3-10.c 1.76 KB
一键复制 编辑 原始数据 按行查看 历史
#define _CRT_SECURE_NO_WARNINGS 1
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
// //oj题不需要考虑他的空间存储问题
// int i = 0, j = 0;
// if (n == 0)
// return;
// while (i < m)
// {
// if (nums1[i] > nums2[j])
// {
// //nums1的元素后移1位
// int end = m;
// while (end > i)
// {
// nums1[end] = nums1[end - 1];
// end--;
// }
// nums1[i++] = nums2[j++];
// n--;
// }
// else
// {
// i++;
// }
// if (j == nums2Size)
// return;
// }
// //后面元素补齐
// while (n)
// {
// nums1[i++] = nums2[j++];
// n--;
// }
//
//}
//
//int main()
//{
// int a[] = { 2,0 };
// int b[] = { 1 };
// merge(a, 2, 1, b, 1, 1);
// return 0;
//}
//从后往前替换
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
//oj题不需要考虑他的空间存储问题
int i = m - 1;
int j = n - 1;
int end = nums1Size - 1;
int cur = 0;
while (i >= 0 || j >= 0)
{
if (i == -1)
cur = nums2[j--];
else if (j == -1)
cur = nums1[i--];
else if (nums1[i] > nums2[j])
cur = nums1[i--];
else
cur = nums2[j--];
nums1[end--] = cur;
}
}
//int removeDuplicates(int* nums, int numsSize) {
// //方法1,暴力移动,时间复杂度O(N^2)
// //方法2
// int j = 0;
// if (numsSize < 2)
// return numsSize;
// for (int i = 1; i < numsSize; i++)
// {
// if (nums[j] != nums[i])
// {
// nums[++j] = nums[i];//找到不同的把他赋值的到下一位
// }
// }
// return ++j;
//}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xiaominggitee/xiaomings-c-language2022.git
git@gitee.com:xiaominggitee/xiaomings-c-language2022.git
xiaominggitee
xiaomings-c-language2022
小铭的c语2022
master

搜索帮助