201709 CCF总结
整体思路
Number 1
水题
Number 2
太惨了,到最后一定要检测一下数组的大小开的对不对!
Number 3
很有水平的一道题目,做的也不错,但是要注意测试的一些技巧
1. 首先看到说可以是空集,那么就要测空集,这样可以拿掉70分
2. 测试多级情况下是否可行,这样可以拿掉80分
3. 假设自己是出题人,会出什么样的样例,很显然最后输入的问题会捣鬼,100分
下面讲一下整体思路
这题难点就是key-value中有的value是字符串,有的value是对象,所以不知道怎么处理
观察就可以发现,实际上整体就是一个Obj,所以构造一个readObj方法,凡是遇到value为{开始的那就不断递归下去调用,刚开始也调用readObj。
每一个Obj都是一个map,而总体维护一个vector,里面存的就是所有的Obj。
比如整体Obj中有一个key-value,假设是"s":{"a":"b"},那map里面存的就是"S"-".1"。后面这个数字就是对应Obj在vector里面的序号
Number 4
通信网络,这题感觉有点难,应该涉及到了强联通变量,但是我用n个DFS竟然就完成了,这也太水了
不过也学到一点就是,要学会计算内存,我一开始没敢开10001000的数组,计算一下41000*1000 = 400 0000B = 4MB,绝对是够用的!
而且要求要在函数外面定义,不然就是用栈上面的内容了,全局变量嘛