数据结构 day 2


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上
        }
}