【leetcode】数组的相对排序
/** * Note: The returned array must be malloced, assume caller calls free(). */ int* relativeSortArray(int* arr1, int arr1Size, int* arr2, int arr2Size, int* returnSize){ int arr[1001]={0}; int i,j=0; for(i=0;i<arr1Size;i++){//记录arr1数字出现的次数次数 arr[arr1[i]]++; } for(i=0;i<arr2Size;i++){//找到在arr2和arr1都出现的数字 while(arr[arr2[i]]>0){ arr1[j]=arr2[i]; j++; arr[arr2[i]]--; } } for(i=0;i<1001;i++){//找arr1有,arr2没有的 while(arr[i]>0){ arr1[j++]=i; arr[i]--; } } *returnSize=arr1Size; return arr1; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步