2032.至少在两个数组中出现的值
简单题,读题,然后暴力模拟就行
int* twoOutOfThree(int* nums1, int nums1Size, int* nums2, int nums2Size, int* nums3, int nums3Size, int* returnSize){
int *ret = (int *)malloc( sizeof(int) * 300 );//三个数组每个数组100长度,那么一共300
int i, j;
int cnt = 0;
*returnSize = 0;
for(i = 1; i <= 100; ++i) {//i的边界一百,请看后边的数据要求,所提示的数组长度
cnt = 0;//记录某个数值在三个数组中出现的次数
//计算第一个数组的第j个元素是否和某个数相等
for(j = 0; j < nums1Size; ++j) {
if(nums1[j] == i) {
++cnt;
break;
}
}
//计算第二个数组的第j个元素是否和某个数相等
for(j = 0; j < nums2Size; ++j) {
if(nums2[j] == i) {
++cnt;
break;
}
}
//计算第三个数组的第j个元素是否和某个数相等
for(j = 0; j < nums3Size; ++j) {
if(nums3[j] == i) {
++cnt;
break;
}
}
if(cnt >= 2) {//如果某个数字大于两次出现,就开始记录进开辟的数组中返回打印
ret[ (*returnSize)++ ] = i;
}
}
return ret;
}