350. 两个数组的交集 II /** * Note: The returned array must be malloced, assume caller calls free(). */ //int cmp(const int *a,const int *b){ // return *(int*)a-*(int*)b; //} int* intersect(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){ // qsort(nums1,nums1Size,sizeof(int),cmp); // qsort(nums2,nums2Size,sizeof(int),cmp); int i,jishu=0,j=0,hash[1000]={0}; // *returnSize=0; int *ret=(int*)malloc(sizeof(int)*nums2Size); for(i=0;i<nums1Size;i++){ j=nums1[i]%1000; hash[j]++; } for(i=0;i<nums2Size;i++){ j=nums2[i]%1000; if(hash[j]!=0){ ret[jishu++]=nums2[i]; hash[j]--; } } *returnSize=jishu; return ret; } 121. 买卖股票的最佳时机 int maxProfit(int* prices, int pricesSize){ int min=prices[0],max=0,i; for(i=1;i<pricesSize;i++) { if(prices[i]<min) min=prices[i]; if(prices[i]-min>max) max=prices[i]-min; } return max; }