赞
踩
之前一直用LeetCode刷题,但是线上笔试基本都是牛客网的OJ系统对输入输出有一些要求,第一次考试没有提前做功课,算法题在case输入这里坑了很多时间,题目做出来但是case通过率0%,记个笔记。
1.第一类:牛客网里的剑指offer的题和leetcode上一样,函数定义已经写好了,只需要完成函数,返回相关的值就可以,不需要处理任何输入输出,不要在函数里输出任何东西。
2.第二类:对于传统ACM的OJ模式题目,程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,OJ一次处理多个case,所以代码需要循环处理,一般通过while循环来出来多个case。
举例:
c++语言:
- #include <iostream>
- using namespace std;
- int main() {
- int a,b;
- while(cin >> a >> b)//注意while处理多个case
- cout << a+b << endl;
- }
Java语言:
注意类名必须为Main, 不要有任何package xxx信息,也要注意注意hasNext和hasNextLine的区别,
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- while (in.hasNextInt()) {
- //注意while处理多个case
- int a = in.nextInt();
- int b = in.nextInt();
- System.out.println(a + b);
- }
- }
- }
Python3语言:
- import sys
- for line in sys.stdin:
- a = line.split()
- print(int(a[0]) + int(a[1]))
注:判题系统状态含义
- 等待评测: 评测系统还没有评测到这个提交,请稍候
- 正在评测: 评测系统正在评测,稍候会有结果
- 编译错误:您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息
- 答案正确: 恭喜!您通过了这道题
- 运行错误: 您提交的程序在运行时发生错误,可能是空指针
- 部分正确: 您的代码只通过了部分测试点,继续努力!
- 格式错误: 您的程序输出的格式不符合要求(比如空格和换行与要求不一致)
- 答案错误: 您的程序未能对评测系统的数据返回正确的结果
- 运行超时: 您的程序未能在规定时间内运行结束
- 内存超限: 您的程序使用了超过限制的内存
- 异常退出: 您的程序运行时发生了错误
- 返回非零: 您的程序结束时返回值非 0,如果使用 C 或 C++ 语言要保证 int main 函数最终 return 0
- 浮点错误: 您的程序运行时发生浮点错误,比如遇到了除以 0 的情况
- 段错误 : 您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
- 多种错误: 您的程序对不同的测试点出现不同的错误
- 内部错误: 请仔细检查你的代码是否有未考虑到的异常情况,例如非法调用、代码不符合规范等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。