leetcode Leetcode494-目标和-Python实现 题目要求: 思路: 画一个表格 可以求出数组中所有元素的和为5,所以画一个(5*2+1)len(nums)的表格(也就是一个二维数组) -5~5表示把这个数组每一个元素加上或减去得到结果值的所有可能 从[-1 -1 -1 -1 -1]到[+1 +1 +1 +1 +1]的所有可能 遍历数组,当遍历到数组下标为0的元素时,也就是第一个1,它与加号减号的组合有…
leetcode Leetcode746-使用最小花费爬楼梯-Python实现 题目要求: 思路: 动态规划 上当前的楼梯花费的体力最小值为,前一个楼梯和前面两个楼梯中较小的那一个加上当前楼梯需要花费的体力值 维护一个数组dp用来保存上所有台阶需要花费的体力值,初始化前两个元素,第一个元素为0,第二个元素为上第一个台阶需要花费的体力值 遍历数组,从下标位置为1开始遍历,因为下标位置为…
leetcode 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保存最大值 核心代码: {代码…} 完整代码…
leetcode Leetcode1455-检查单词是否为句中其他单词的前缀-Python实现 题目要求: 思路: 先将字符串分割为列表,分隔符为空格 遍历这个数组,如果当前的元素长度小于给定的检索词,直接遍历下一个 如果当前的元素长度等于或大于给定的检索词,遍历检索词,把这个元素和检索词逐个对比,如果不一致,直接break,如果一致,且当前的下标为检索词长度-1,说明当前的这个单词前面的几个字符正是…
leetcode Leetcode44-通配符匹配-Python实现 题目要求: 思路: 两个字符串逐个匹配,会遇到三种情况 情况1:字符相等,或字符模式p中的字符为”?”,那么可以比对下一位 情况2:字符不等,但字符模式p中的字符为星号(*) ! 这种情况下,用一个prestar来标记遇到星号的下标,prestar初始化为-1 将字符模式p的指针移到下一个位置 并将s指针的当前指向的下标保存下来,…
leetcode Leetcode剑指-Offer-47-礼物的最大价值-Python实现 题目要求: 思路: 创建一个二维数组,用来保存每个格子能取到的礼物的最大价值 遍历数组,取到当前的礼物的最大价值是这个礼物的(上一格,或左面一格)两个中最大的价值+当前礼物的价值,把这个值存在二维数组中。 最后返回二维数组的最后一个值就是最大的价值。 核心代码: {代码…} 完整代码: {代码…}
leetcode Leetcode面试题-0801-三步问题-Python实现 题目要求: 思路: 上第一个台阶有一种方法:(1)1 上第二个台阶有两种方法:(1)1+1(2)2 上第三个台阶有四种方法:(1)1+1+1(2)1+2(3)2+1(4)3 所以从上第四个台阶开始,就可以依据前面的数据进行计算,比如上第四个台阶,可以从第一个台阶一次走三步上来,也可以从第二个台阶一次走两步上来,也可以第三个台…
leetcode Leetcode14-最长公共前缀-Python实现 遍历数组,当前的flag为(当前的字符串和flag)中最小的一个,例如,数组为 [“flower”,”flow”,”flight”],遍历到flower时,flag为6,遍历到flow时,最长的公共前缀长度最长可能为4,也就是flow的长度,然后嵌套遍历,逐个比较str[0]和当前字符串的每个字符,遍历范围为flag,例如flower和flow,只需要比较range(len(“flo…
leetcode Leetcode剑指-Offer-42-连续子数组的最大和-Python实现同53题 题目要求: 思路: 维护一个tmp,用来保存临时的最大值 维护一个res,用来保存全局最大值,也就是结果 遍历数组,如果当前的tmp小于0,那么把当前的值赋给tmp,如果当前的值大于0,把当前的值加上tmp的值的和赋给tmp 把res和tmp最大的那个赋给res 循环结束,返回res 核心代码: {代码…} 完整代码: {代码…}
leetcode Leetcode122-买卖股票的最佳时机-II-Python实现 题目要求: 思路: 每天都买卖股票,卖出前一天的,再买进当天的 维护一个res用来保存总利润 如果当天的股票价格比前一天的高,也就是有利润,把这个利润加到res中,如果没有利润,把res加0 返回res 核心代码: {代码…} 完整代码: {代码…}