柠檬微趣C++客户端笔试
服务端和客户端都投了,笔试显示是客户端
时间:2024/07/31 120分钟
4道编程题
1. abc是有效字符串,往有效字符串内任意位置插入abc后依然是有效字符串,判断一个给定字符串是否有效
链表,维护所有连续abc位置并依次删除,删除一个abc后看对应位置是否产生新的连续abc,复杂度O(n)
下来复盘发现做麻烦了,用一个栈类似括号匹配那样维护就行了
2. 输出n位第k号格雷码
由格雷码性质,k的二进制相邻位异或
3. 给定一个序列,求每个数其后面比它大的最小数
倒序遍历,set+upper_bound
4. 给定一个二叉树,在给定的若干层画水平直线,问画出来的图形有多少闭合区域
从最深的水平直线开始倒序维护每一层有哪些有用节点,如果两个节点走到同一父节点,则新增区域数加一;如果遇到另一条水平直线,则新增区域数为前一层有用节点数减一,并更新当前层的有用节点
时间:2024/07/31 120分钟
4道编程题
1. abc是有效字符串,往有效字符串内任意位置插入abc后依然是有效字符串,判断一个给定字符串是否有效
链表,维护所有连续abc位置并依次删除,删除一个abc后看对应位置是否产生新的连续abc,复杂度O(n)
下来复盘发现做麻烦了,用一个栈类似括号匹配那样维护就行了
2. 输出n位第k号格雷码
由格雷码性质,k的二进制相邻位异或
3. 给定一个序列,求每个数其后面比它大的最小数
倒序遍历,set+upper_bound
4. 给定一个二叉树,在给定的若干层画水平直线,问画出来的图形有多少闭合区域
从最深的水平直线开始倒序维护每一层有哪些有用节点,如果两个节点走到同一父节点,则新增区域数加一;如果遇到另一条水平直线,则新增区域数为前一层有用节点数减一,并更新当前层的有用节点
全部评论
杰哥什么时候能像你一样优秀
相关推荐
查看11道真题和解析
点赞 评论 收藏
分享
查看21道真题和解析
点赞 评论 收藏
分享