1.IO型
考试IO型居多:
所以需要我们自己写头文件,main函数等等
测试用例输入:我们要去scanf或者getchar获取(限C语言)
测试结果:需要printf输出
比如牛客网上很多练习的题目都是IO型
2.接口型
校招接口型居多:
不需要写头文件,主函数等等
提交了以后,会跟OJ服务器上已经准备好的代码合并,再编译运行
测试用例一般是通过参数过来的
而输出结果一般是通过返回值拿的,也可能是输出参数。
举个例子,就拿剑指 Offer 56 - I. 数组中数字出现的次数来说,如果使用C语言实现它
根据题目要求返回两个值,而C语言办不到,必须返回数组,所以一看就要写:
int *arr=(int* )malloc(sizeof(int)*2);
return arr;
nums这里就是测试用例的数组,numsSize就是测试用例数组的大小,而returnSize可以这么解释:
所以要写*returnSize=2,
未实现功能的代码入下:
* Note: The returned array must be malloced, assume caller calls free().
*/
//letcode都是接口型
int* singleNumbers(int* nums, int numsSize, int* returnSize){
int *arr=(int*)malloc(sizeof(int)*2);
//输出型参数,让外面拿到数组长度
*returnSize=2;
return arr;
}