网易921笔试
直接4道编程题
编程题1,首先,通过栈存储左括号 / 左尖括号及其索引、列表存储星号索引,然后再暴力遍历一下,字符串匹配对应的右括号 / 右尖括号,再通过排序后匹配剩余左括号 / 左尖括号与星号的位置关系,这样来判断字符串是否合法。结果不知道问题出在哪里,就通过一半多点
编程题2,主要是通过滑动窗口结合哈希表统计字母出现次数,在保证窗口内任意字母出现次数不超过给定值 k 的前提下,不断扩大右指针并适时移动左指针,最终求出符合条件的最长子串长度,过了
编程题3,首先,将输入的层序遍历字符串解析为二叉树,然后就通过深度优先搜索(DFS)计算从根节点到每个叶子节点路径上所有节点值的乘积,最后就统计乘积为完全平方数的路径数量并输出,过了
编程题4,就是先通过预处理网格中各数值对应的房间位置,然后,就结合 Dijkstra 算法(优先队列)、距离数组和最优发送成本数组,在允许向右、向下移动及有限次传送的规则下,这样来求解从网格左上角到右下角的最小成本,若无法到达则输出 - 1。就通过60%。好复杂,没啥优化办法了,交卷了
#发面经攒人品#