LeetCode数据结构day2算法题学习
题1. 两数之和
1)思路:
数组遍历,然后将两次遍历的值相加与target比较,相等则返回数组下标(数组中同一个元素在答案里不能重复出现)
2)代码:
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int i,j;
for(i=0;i
题88. 合并两个有序数组
1)思路:
采用一种类似于插入排序的思想,新建一个数组用于合并两个数组,由于原先两个数组已有序,故比较最低位再插入即可。
2)代码:
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
int p=0,q=0;
int sorted[m+n];
int cur=0;
while(pnums2[q]){
cur=nums2[q++];
}
else{
cur=nums1[p++];
}
sorted[p+q-1]=cur;//插入进合并的数组
}
for(int i = 0; i < m + n; i++){
nums1[i]=sorted[i];//合并后数组存放在nums1上
}
}