最近准备找工作,想刷一下算法题,主要有两个平台 牛客网和力扣
力扣一般会把主函数创建好,你只需要处理逻辑(Java是这样)。但是牛客网直接就是一个空白的编辑框,一下就能我整不会了。所以来记录一下刷算法题的一个基本工作。
Java
1. 命令行输入
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){ // 输入一般是EOF(直接一个输入文件重定向进来)或者\n结尾的
String input = scanner.nextLine(); // 一次读取一行,这里除了按行,还提供了一些数字的输入
}
}
}
2. 命令行输出
System.out.println("这个大家都会就不用说了");
C
1. scanf
#include <stdio.h>
int main(void){
char chars[1000];
scanf("%s", chars); // 这样读取,碰到空白字符(空格或换行或\0)都会停止
scanf("%[A-Za-z0-9 ]", chars); // 用正则去匹配输入的字符串内容
return 0;
}
2. gets
#include <stdio.h>
#include <string.h>
int main(void){
char chars[1000];
gets(chars); // 读取字符串直到遇到换行或者EOF,和上面Java的nextLine很像了,它在string.h中定义
int len = strlen(chars); // string.h中还提供了一个常用的方法strlen,它从头找到\0为止
return 0;
}
3. 输出
#include <stdio.h>
#include <string.h>
int main(void){
char* chars = "Hello World";
printf("%s\n", chars); // printf可以用于各类数值的格式化输出
puts(chars); //只能输入字符串,并且后面会自动带一个回车,由string.h引入
return 0;
}
有些编程环境下,需要从0开始写代码,这些基本的框架代码一定要非常熟练,才能将时间和精力完完全全用在题目本身。