2024年10月7日

Day 29 动态规划part02| LeetCode 62.不同路径,63.不同路径II

摘要: 62.不同路径 62. 不同路径 class Solution { public int uniquePaths(int m, int n) { int [][]dp=new int[m][n]; //dp数组 -- dp[i][j] 达到坐标(i,j)有几种路径 //dp数值初始化-- 终点为:d 阅读全文

posted @ 2024-10-07 22:30 FreeDrama 阅读(3) 评论(0) 推荐(0) 编辑

Day 28 动态规划part01| LeetCode 509.斐波那契数,70.爬楼梯,746.使用最小花费爬楼梯

摘要: 理论基础 包含题目类别:基础类(斐波那契、爬楼梯)、背包问题、打家劫舍、股票问题、子序列问题 解题关键 DP数组定义以及下标的含义 递推公式 DP数组如何初始化 遍历顺序 打印DP数组 509.斐波那契数 509. 斐波那契数 class Solution { public int fib(int 阅读全文

posted @ 2024-10-07 17:28 FreeDrama 阅读(2) 评论(0) 推荐(0) 编辑

Day 24 贪心算法part02| LeetCode 122.买卖股票的最佳时机II,55.跳跃游戏,45.跳跃游戏II,1005.K次取反后最大化的数组和

摘要: 122.买卖股票的最佳时机II 局部最优:每天的正利润 全局最优:每天的正利润之和 121. 买卖股票的最佳时机 class Solution { public int maxProfit(int[] prices) { int res=0; for(int i=1;i< prices.length 阅读全文

posted @ 2024-10-07 15:38 FreeDrama 阅读(2) 评论(0) 推荐(0) 编辑

2024年9月23日

Day 23 贪心算法part01| LeetCode 455.分发饼干,376.摆动序列,53.最大子序和

摘要: 455.分发饼干 455. 分发饼干 class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int index=s.length-1; int count 阅读全文

posted @ 2024-09-23 22:18 FreeDrama 阅读(3) 评论(0) 推荐(0) 编辑

2024年9月22日

Day 22 回溯法part04| LeetCode 491.递增子序列,46.全排列,47.全排列 II

摘要: 491.递增子序列 491. 非递减子序列 class Solution { public List<Integer> path=new LinkedList<>(); public List<List<Integer>> res=new ArrayList<>(); public List<Lis 阅读全文

posted @ 2024-09-22 20:19 FreeDrama 阅读(2) 评论(0) 推荐(0) 编辑

Day 21 回溯法part03| LeetCode 93. 复原 IP 地址,78.子集,90.子集II

摘要: 93. 复原 IP 地址 93. 复原 IP 地址 class Solution { List<String> res=new ArrayList<>(); public List<String> restoreIpAddresses(String s) { backtracking(s,0,0); 阅读全文

posted @ 2024-09-22 17:40 FreeDrama 阅读(4) 评论(0) 推荐(0) 编辑

Day 20 回溯法part02| LeetCode 39. 组合总和 ,40.组合总和II,131.分割回文串

摘要: 39. 组合总和 39. 组合总和 class Solution { public List<List<Integer>> res = new ArrayList<>(); public List<Integer> path = new LinkedList<>(); public List<Lis 阅读全文

posted @ 2024-09-22 17:39 FreeDrama 阅读(5) 评论(0) 推荐(0) 编辑

2024年9月18日

Day 19 回溯法part01| LeetCode 77.组合,216. 组合总和 III,17. 电话号码的字母组合

摘要: 理论基础 回溯法(回溯搜索法) 回溯函数就是递归函数 本质是穷举 解决的问题 组合问题(不强调元素顺序,需去重) 切割问题 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题(强调元素顺序) 棋盘问题:N皇后 回溯法模板(可抽象为树形结构——N叉树 来解决问题) 递归返回值以及参数(一般为v 阅读全文

posted @ 2024-09-18 23:11 FreeDrama 阅读(3) 评论(0) 推荐(0) 编辑

Day18 二叉树part08| LeetCode 669. 修剪二叉搜索树 , 108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树

摘要: 669. 修剪二叉搜索树 669. 修剪二叉搜索树 class Solution { public TreeNode trimBST(TreeNode root, int low, int high) { if(root==null) return null; //处理节点值<low 的情况:当前节 阅读全文

posted @ 2024-09-18 20:30 FreeDrama 阅读(3) 评论(0) 推荐(0) 编辑

2024年9月16日

Day17 二叉树part07| LeetCode 235. 二叉搜索树的最近公共祖先 ,701.二叉搜索树中的插入操作 ,450.删除二叉搜索树中的节点

摘要: 235. 二叉搜索树的最近公共祖先 235. 二叉搜索树的最近公共祖先 利用二叉搜索树的特性——有序树,可知, 如果中间节点是p和q的公共节点,那个中间节点的数值一定在[p,q]区间 因此,从根节点往下搜索,遇到的第一个位于[p,q]或[q,p]区间的节点就是最近公共祖先 class Solutio 阅读全文

posted @ 2024-09-16 22:45 FreeDrama 阅读(3) 评论(0) 推荐(0) 编辑

导航