23届8月14日网易雷火笔试思路
因为不允许用本地IDE,只能写个大概。本人菜鸡只做了1,2,4,第四题测试能过但是内存超了。欢迎大佬给出更好的方法
一、能解密出多少种
思路是记录数组的最大值,最小值和次小值,根据最大值和最小值的差,最大值和次小值的差判断情况
二、字符串的颜色
用栈来做的,考虑清楚#C后面到底是颜色还是普通字符串就没什么大难点,需要小心以下几点:
1.cin读取数字后直接getline会读取到空行,要ignore或者先getline一次
2.用for循环处理完文本内容的时候,最后一次#到结尾的字符串可能需要输出,如果漏了这个输出通过率好像是3%
四、逆水寒自动填补格子
这道题对内存的要求很严格,我算了一下,M*N的vector都会超过内存,不考虑内存的话可以用并查集来做。因为对于填色的地方,斜向和正向共8个方向都算连接,那么对于内部(要填补的颜色)则只有正向的四个方向算连接。
于是将所有未涂色的格子进行union操作。
接下来判断哪些栅格应该自动填补,即如何判断外部。将第0行、第0列、最后一行和最后一列的未填补栅格(这些栅格可以表示外部)的father加入集合s,对于所有未填补的栅格,只要father不属于s,那么就会自动填补。