首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
功法秘笈
古今
创建于2023-07-29
订阅专栏
随心录
暂无订阅
共110篇文章
创建于2023-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法修炼Day57|647. 回文子串 ● 516.最长回文子序列
LeetCode:647. 回文子串 - 力扣(LeetCode) 1.思路 方法一:暴力解法:两层for循环分别做起始位置的定位,内层wile对区间内字符判断是否为回文子串。 方法二:中心扩展法,分
算法修炼Day56|583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
LeetCode:583. 两个字符串的删除操作 - 力扣(LeetCode) 1.思路 定义:dp[i][j],表示以 i-1 为结尾的word1和以 j-1 为结尾的word2的最小操作次数。 递
算法修炼Day55|392.判断子序列 ● 115.不同的子序列
LeetCode:392. 判断子序列 - 力扣(LeetCode) 1.思路 遍历原字符串t,判断s和t的字符是否相同,相同则两者同时++;否则循环遍历,每轮都对当前位置与s的长度比较判断,如果相同
算法修炼Day53|1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划
LeetCode:1143. 最长公共子序列 - 力扣(LeetCode) 1.思路 定义dpp[][]数组,dp[i][j]表示两个字符串在 i - 1 和 j - 1 的位置上相同的字符数。当两者
算法修炼Day52|300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组
LeetCode:300. 最长递增子序列 - 力扣(LeetCode) 1.思路 暴力是没有思路的。动规,线性查找每个索引位置所具有的最大递增子序列数值,每个数值位置的初始值都应该为1。且应该考虑数
算法修炼Day51● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
LeetCode:309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode) 1.思路 同一支股票允许多次买卖。有持有/卖出/保持卖出/冷冻期四种状态,持有可分为:前一天持有/前一天冷冻期当天
算法修炼Day50|● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV
LeetCode:123. 买卖股票的最佳时机 III - 力扣(LeetCode) 1.思路 定义股票每天有四种状态,分别是第一次持有、第一次不持有、第二次持有、第二次不持有,对各种状态进行推演。不
算法修炼Day49|121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II
LeetCode:121. 买卖股票的最佳时机 - 力扣(LeetCode) 1.思路 买卖一次得出最大利润。暴力超时。贪心:遍历获取当前最小值,将当前值与最小值的差和当前结果值比较,获取两者之间的较
算法修炼Day48|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
LeetCode:198. House Robber - 力扣(LeetCode) 1.思路 dp[i]表示当前房间偷还是不偷,不偷时的最大值为:dp[i - 1],偷的最大值为: dp[i - 2]
算法修炼Day46|139.单词拆分·多重背包
LeetCode:139. 单词拆分 - 力扣(LeetCode) 1.思路 理解题意:将字符串s可以看作为背包,而wordDict是物品,判断字典物品重复加入背包是否能组成s。将字符串s进行一个个位
算法修炼Day45|70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数
LeetCode:70. 爬楼梯 - 力扣(LeetCode) 1.思路 思路一:找规律。当前台阶走法是前两个台阶走法之和。台阶数小于2时,直接返回对应数值,台阶数大于等于3时,采用滚动的方式获取前两
算法修炼Day44|● 完全背包 ● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
完全背包:背包容量一定,每个物品数量不限,装满背包最多有多少种方法。 LeetCode:518. 零钱兑换 II - 力扣(LeetCode) 1.思路 物品数量不限,背包容量一定,装满背包的所有方法
算法修炼Day43|1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
LeetCode:1049. 最后一块石头的重量 II - 力扣(LeetCode) 1.思路 尝试将物品拆分成尽可能相近的两部分,两者相减才能得出剩余的最小值。具体操作:求和/2得出背包容量值,背包
算法修炼Day42|● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集
01背包,完全背包和多重背包都是从01背包进化而来。所以01背包才是关键。 很明显:概念需要记下来,显然的区别是物品的个数不同。 01背包:n种物品,每种物品只有一个; 完全背包:n种物品,每种物品有
算法修炼Day41|343. 整数拆分 ● 96.不同的二叉搜索树
LeetCode:343. 整数拆分 - 力扣(LeetCode) 1.思路 理一下思路:可以用边界排除法做,见代码实现,略。利用动规,将数拆分为多个近似相等的数,一层for循环用来遍历前面每一个数拆
各种方法的诺亚方舟!!!
字符串、数组、栈、队列、接口及其实现类 Java语言下各种基础方法记录,目录如下: 关于字符串、数组和字符数组之间的常见方法及其示例: 1 字符串(String): length():返回字符串的长度
算法修炼Day39|62.不同路径 ● 63. 不同路径 II
LeetCode:62. 不同路径 - 力扣(LeetCode) 1.思路 当前位置的路径数是上头上一个和左侧一个的和,所以可以一点点推导,想到动规。 动规五部曲: ①确定dp[i][j]数组定义:到
算法修炼Day38|● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
动规理论: 动规基础问题:斐波那契数列、背包问题、打家劫舍、股票问题、子序列问题 动规本质性的问题:动规步骤(动规五部曲,见下) ①dp[]数组以及下标i的含义; ②递推公式; ③初始化:dp[]数组
算法训练Day37|738.单调递增的数字 (和自己和解了,把难题都过滤掉...)
LeetCode:738. 单调递增的数字 - 力扣(LeetCode) 1.思路 将数字转化为字符串,对字符串进行前后数字进行比较,当前字符串大于后面字符串时,当前字符数值-1,同时更新要修改字符的
算法修炼Day36|● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
LeetCode:435. 无重叠区间 - 力扣(LeetCode) 1.思路 将重叠区间进行排序,Java8新特性,定义一个计数器和数据段的前驱有边界,将当前元素左边界与前驱节点右边界进行比较。如果
下一页