算法
wzj_whut
快乐生活
展开
-
算法题: 包含MIN/MAX运算的四则运算
题目描述 输入4则运行算表达式, 额外再定义了两种运算操作 MIN(a,b) 计算最小值 MAX(a,b) 计算最大值 表达式不包括空格, 可以使用()设置优先级, 数字都是整数, 且输入一定合法, 不需要校验 例如 MIN(1,(2+3)*4)+(1+2)*3 的值为10 思路 遇到加减操作, 它之前的操作的优先级不会比现在低, 可以都消除掉. 而当前的加减操作还不能消,先存到栈中 遇到乘除操...原创 2019-10-01 21:13:34 · 1633 阅读 · 0 评论 -
算法题: 深度优先搜索+广度优先搜索+回溯 (收集金币)
题目描述 M行N列的地图, X表示墙, .表示空地, S表示玩家位置, C表示金币, O表示箱子 玩家遇到箱子时, 可以推动箱子, 前提箱子前面是空地, 一个箱子只能推动一次. 玩家起始位置也是为空地. 算法技巧 用深度优先搜索, 将可直接收集的金币清理掉 用广度优先搜索, 深度将所有可能的箱子推动一遍, 算出最多可收集的金币 遍历箱子, 需要用到回溯技巧 js算法实现 用js写是因为方便在浏...原创 2019-10-01 14:05:12 · 836 阅读 · 0 评论