算法
苗有趣
这个作者很懒,什么都没留下…
展开
-
62. 不同路径
/** * 解题思路:首先寻找满足条件状态子集之间的关系 * 和前一道题目相似: * 通用公式:dp[i][j]=dp[i-1][j]+grid[i][j-1] * 第一行与第一列单独处理 */ function uniquePaths(m: number, n: number): number { if(m === 1 || n === 1){ return 1 } const dp = new Map() for(let i=2;i<=m;原创 2021-03-15 16:34:38 · 46 阅读 · 0 评论 -
第二道20.有效的括号
第二道:20.有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入: “([)]” 输出: false 示例 5: 输入: “{[]}” 输出: true 第一次解原创 2020-12-04 20:24:38 · 54 阅读 · 0 评论 -
第一道1. 两数之和
第一道:1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 第一次解题思路: 从数组中寻找两个数,使用map结构可以减少一层循环,直接从堆里面进行取数据,时间复杂度降低; map原创 2020-12-04 20:24:00 · 69 阅读 · 0 评论