Tagged: leetcode

Leetcode315-计算右侧小于当前元素的个数-Python实现 0

Leetcode315-计算右侧小于当前元素的个数-Python实现

题目要求: 思路: 构建一个二叉树,节点有以下属性: {代码…} 从后往前遍历数组元素,如果以后的数组元素值与以后树节点值相等,那么把以后节点呈现的次数加一 如果以后元素的值大于树节点的值,如果以后节点有右节点,持续比拟右节点,如果以后节点没有右节点,用以后的数组元素创立新的节点,插入到树中 如果以后元…

LeetCode-112-路径总和-Python 0

LeetCode-112-路径总和-Python

112. 路径总和 题目来源:力扣(LeetCode)[链接] 题目 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: {代码…} 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。 解题思…

Leetcode213-打家劫舍-II-Python实现 0

Leetcode213-打家劫舍-II-Python实现

思路: 如果抢第一个房屋,就不能抢最后一个房屋,抢最后一个房屋,就不能抢第一个房屋,所以把nums分为两种情况,一部分是nums[:-1]和nums[1:],遍历这两个数组,再比较抢来的最高金额

Leetcode112-路径总和-Python实现 0

Leetcode112-路径总和-Python实现

题目要求: 思路: 递归 把(sum – 当前节点的val)传给当前节点的左子树和右子树 如果当前节点没有左子树,也没有右子树,而且sum为0,说明到达了一个叶子节点,而且到达这个叶子节点的路径中,有一条路径,这条路径上的所有节点值相加等于sum,返回True 核心代码: {代码…} 完整代码: {代码…}

leetcode如何实现-regex-正则表达式引擎 0

leetcode如何实现-regex-正则表达式引擎

题目 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符 ‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . …

Leetcode494-目标和-Python实现 0

Leetcode494-目标和-Python实现

题目要求: 思路: 画一个表格 可以求出数组中所有元素的和为5,所以画一个(5*2+1)len(nums)的表格(也就是一个二维数组) -5~5表示把这个数组每一个元素加上或减去得到结果值的所有可能 从[-1 -1 -1 -1 -1]到[+1 +1 +1 +1 +1]的所有可能 遍历数组,当遍历到数组下标为0的元素时,也就是第一个1,它与加号减号的组合有…

Leetcode746-使用最小花费爬楼梯-Python实现 0

Leetcode746-使用最小花费爬楼梯-Python实现

题目要求: 思路: 动态规划 上当前的楼梯花费的体力最小值为,前一个楼梯和前面两个楼梯中较小的那一个加上当前楼梯需要花费的体力值 维护一个数组dp用来保存上所有台阶需要花费的体力值,初始化前两个元素,第一个元素为0,第二个元素为上第一个台阶需要花费的体力值 遍历数组,从下标位置为1开始遍历,因为下标位置为…

Leetcode1014-最佳观光组合-Python实现 0

Leetcode1014-最佳观光组合-Python实现

题目要求: 思路: 得分为A[i] + A[j] + i – j,可以分为(A[i] + i)和(A[j] – j),最高分为两个之和 所以遍历数组,维护两个值,一个是A[i] + i的最大值,另一个是A[i] + i + A[j] – j的最大值 第二个值维护的不是A[j] – j的最大值是因为最大值还与i – j有关,所以要根据i – j保存最大值 核心代码: {代码…} 完整代码…

Leetcode1455-检查单词是否为句中其他单词的前缀-Python实现 0

Leetcode1455-检查单词是否为句中其他单词的前缀-Python实现

题目要求: 思路: 先将字符串分割为列表,分隔符为空格 遍历这个数组,如果当前的元素长度小于给定的检索词,直接遍历下一个 如果当前的元素长度等于或大于给定的检索词,遍历检索词,把这个元素和检索词逐个对比,如果不一致,直接break,如果一致,且当前的下标为检索词长度-1,说明当前的这个单词前面的几个字符正是…

Leetcode44-通配符匹配-Python实现 0

Leetcode44-通配符匹配-Python实现

题目要求: 思路: 两个字符串逐个匹配,会遇到三种情况 情况1:字符相等,或字符模式p中的字符为”?”,那么可以比对下一位 情况2:字符不等,但字符模式p中的字符为星号(*) ! 这种情况下,用一个prestar来标记遇到星号的下标,prestar初始化为-1 将字符模式p的指针移到下一个位置 并将s指针的当前指向的下标保存下来,…