首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
功法秘笈
古今
创建于2023-07-29
订阅专栏
随心录
暂无订阅
共104篇文章
创建于2023-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法修炼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新特性,定义一个计数器和数据段的前驱有边界,将当前元素左边界与前驱节点右边界进行比较。如果
算法修炼Day35|● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球
LeetCode: 1.思路 直接创建5-10两个变量,遍历结束后看两个变量数是否小于0,如果小于则说明不满足顺序实现找零。 2.代码实现 3.复杂度分析 时间复杂度:O(n). 空间复杂度:O(1)
算法修炼Day34|1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果
LeetCode:1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 1.思路 对数组进行升序排序,当数组元素小于0且k大于0时,取绝对值进行加和,当k==0时,直接加上数组元素值即
算法修炼Day32|122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II
LeetCode:122. 买卖股票的最佳时机 II - 力扣(LeetCode) 1.思路 将利润拆解,算出当天比前一天多的数,如果是正数就加上该数,表示前一天买入当天卖出,否则就加0,表示这两天不
算法修炼Day31|● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和
LeetCode:455. 分发饼干 - 力扣(LeetCode) 1.思路 从胃口或饼干大小两个角度中的一个去考虑 方法一:优先考虑饼干,小饼干满足小胃口。 方法二:优先考虑胃口,大胃口对应大饼干。
算法修炼Day30|332.重新安排行程 ● 51. N皇后 ● 37. 解数独
LeetCode:332. 重新安排行程 - 力扣(LeetCode) 1.思路 首先进行排序,将目的地址字符数值较小的排在前面优先考虑,这是排序的意义。 回溯方法参数;中止条件;确定单层递归的逻辑
算法修炼Day29|491.递增子序列 * 46.全排列 * 47.全排列 II
LeetCode:491. 递增子序列 - 力扣(LeetCode) 1.思路 回溯方法三部曲: 确定回溯方法参数及其返回值;确定单层递归的逻辑;确定终止条件。 2.代码实现 3.复杂度分析 时间复杂
下一页