写OJ时的一些小技巧(持续更新)

格式化输入:
  1. 输入带空格的名字字符串,遇到逗号截止
char *name[20];
scanf("%[^,]", name); 

%[]表示扫描[]中的字符集合。例如%[123456789]意为只读入'1' '2' '3'...这样在[]内的字符;再例如%[^a-zA-Z]即只读入大小写字母。
这里^为位运算符 非,%[^,]表示遇到','输入停止(逗号还在缓冲区)

或者使用

cin.get(name, 20, ',');

函数原型是istream & get(char* s, streamsize n, char delim);第一个参数*s是个字符指针,第二个参数n,表示读入n-1个字符,第三个参数delim表示结束字符(默认参数为\n换行)

边缘测试:
  1. 链表题注意头结点可能为NULL;
方法:
  1. (lc41)原地哈希,对数组本身进行操作。特性:空间复杂度O(1);
  2. 队列中依次取值,考虑优先队列(堆),堆中可以存数组下标;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值