Leochens
Leochens
js版 没有使用list模拟queue 因为会超时 ```js /** * @param {string} s * @return {number} */ var calculate = function (S) { i = 0; // 处理括号需要递归 function helper() { const stack =...
JS版本 ```js /** * @param {number[][]} dungeon * @return {number} */ var calculateMinimumHP = function (dungeon) { const n = dungeon.length; const m = dungeon[0].length; const dp = Array(n +...
js版 ```js /** * @param {string} num1 * @param {string} num2 * @return {string} */ var multiply = function (num1, num2) { const m = num1.length; const n = num2.length;...
js版 ```js /** * @param {number} n * @param {number[]} blacklist */ var Solution = function (n, blacklist) { //本质上是构造一个映射 这个映射是将黑名单数字映射到白名单去 //使得如果随机到了黑名单里的数字 也可以正常返回有效数字 不需要重复随机数 const blackToWhite = new Map(); //...
js版 ```js /** * @param {number[]} nums * @return {boolean} */ var isPossible = function (nums) { // 这题比较特殊 使用2个哈希表来解决 // freq[v]表示每个数字出现的次数 need[v]表示v可以添加到上一个子串的末尾的次数 // 在分子序列遍历到某个数字的时候 可能有两种情况 // 1. 自成一派 自己开头...
js版1541 ```js /** * @param {string} s * @return {number} */ var minInsertions = function (s) { let need = 0, res = 0; let i = 0; // res表示的是当前遍历过程中为了配平当前的状态,所需要插入左括号或是右括号的总次数,need表示的是遍历结束后仍需要的右括号数量...
接雨水js版 ```js /** * @param {number[]} height * @return {number} */ var trap = function (height) { // 想找到第i个柱子上可以接多少雨水 res[i] // 先找到右边最高的柱子max_l 找到左边最高的柱子max_r 取min(l,r)-height[i] = res[i] // 使用备忘录优化 const m...
js ```js /** * @param {number[]} arr * @return {number[]} */ var pancakeSort = function (arr) { // 在n个中找到最大的 然后铲起它 翻转其上的所有饼 这样他就到了最上面 然后翻转所有饼 这样最大的就到了最下面 // 在对n-1个饼 进行此过程 直到n==1 返回 已经排好序了...