20选择+5道编程1. 求数组最大子串,使得最大值和最小值之差不大于1哈希表,100%2. 勇者的馈赠给两个数组,一个勇者数组,表示勇者通关需要的最少药量,一个药瓶数组,表示现存药量,输出最多能有几个勇者通关例:[10, 15] [8, 10, 15] 输出2优先队列 100%3. 物品拍卖物品初始值为0, 输入一系列命令行, 求物品最终值共3种命令 add 增加 sub 减少 undo 撤销上一步例:add 1000sub 100undoadd 1000输出2000栈 100%4. 求数组能组成的合法三角形的最大周长例:3 2 3 4 输出10用了回溯,比较暴力,60%5. 给定一个矩阵matrix,matrix[i][j]代表矩阵单元格的高度,给定兔子和水的位置,水会淹没小于等于自身高度的相邻单元格。兔子先走,每次都能跳到高度低于h的相邻单元格(其中h=自身单元格高度+兔子的起跳高度),求兔子不被水淹的最小起跳高度例:矩阵:6 5 41 2 3兔子位置:2 1水的位置:1 3输出:3思路:先求出不会被水淹到的所有位置存入数组,穷举位置,求兔子到每个位置的最小高度,输出所有最短路径的最小值不知道怎么求兔子到每个位置的最小高度,想过dp但是没时间写完了蹭了10%