- 博客(155)
- 收藏
- 关注
原创 代码随想录算法训练营第60天|84.柱状图中最大的矩形
JAVA代码编写给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。
2023-12-23 20:45:08 914
原创 代码随想录算法训练营第59天| 503.下一个更大元素II 42. 接雨水
java代码编写给定一个循环数组nums的下一个元素是nums[0]),返回 nums中每个元素的。数字x的是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。
2023-12-22 17:06:51 411
原创 代码随想录算法训练营第58天| 739. 每日温度 496.下一个更大元素 I
JAVA代码编写给定一个整数数组,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。
2023-12-21 14:49:32 883
原创 代码随想录算法训练营第57天| 647. 回文子串 516.最长回文子序列
JAVA代码编写给定两个单词word1和word2,返回使得word1和word2所需的。可以删除任意一个字符串中的一个字符。word2。
2023-12-20 14:39:19 833
原创 代码随想录算法训练营第56天| 583. 两个字符串的删除操作 72. 编辑距离
JAVA代码编写给定两个单词word1和word2,返回使得word1和word2所需的。可以删除任意一个字符串中的一个字符。word2。
2023-12-19 13:16:17 870
原创 代码随想录算法训练营第55天| 392.判断子序列 115.不同的子序列
t[j - 1]),此时相当于t要删除元素,t如果把当前元素t[j - 1]删除,那么dp[i] [j] 的数值就是 看s[i - 1]与 t[j - 2]的比较结果了,即:dp[i][j] = dp[i][j - 1];3.数组初始化初始化均为04.遍历顺序同理从递推公式可以看出dp[i][j]都是依赖于dp[i - 1] [j - 1] 和 dp[i] [j - 1],那么遍历顺序也应该是从上到下,从左到右5.举个例子。
2023-12-18 16:20:10 741
原创 代码随想录算法训练营第53天| 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划
JAVA代码编写给定两个字符串text1和text2,返回这两个字符串的最长的长度。如果不存在,返回0。一个字符串的是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。"ace""abcde""aec""abcde"两个字符串的是这两个字符串所共同拥有的子序列。text2。
2023-12-16 22:28:59 910
原创 代码随想录算法训练营第52天| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
JAVA代码编写给你一个整数数组nums,找到其中最长严格递增子序列的长度。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组的子序列。
2023-12-15 11:58:47 951
原创 代码随想录算法训练营第51天| 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费
JAVA代码编写给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。设计一个算法计算出最大利润。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
2023-12-14 16:42:19 990
原创 代码随想录算法训练营第50天| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV
JAVA代码编写给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成交易。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
2023-12-13 14:31:38 808
原创 代码随想录算法训练营第49天| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II
JAVA代码编写给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。
2023-12-12 13:30:44 898
原创 代码随想录算法训练营第48天| 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
JAVA代码编写你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,。给定一个代表每个房屋存放金额的非负整数数组,计算你,一夜之内能够偷窃到的最高金额。
2023-12-11 13:23:58 845
原创 代码随想录算法训练营第46天| 139.单词拆分 多重背包
JAVA代码编写给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。**注意:**不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。
2023-12-09 15:50:19 996
原创 代码随想录算法训练营第43天| 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
JAVA代码编写有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出,然后将它们一起粉碎。假设石头的重量分别为x和y,且x
2023-12-06 15:08:16 830
原创 代码随想录算法训练营第41天| 343. 整数拆分 96.不同的二叉搜索树
JAVA代码编写给定一个正整数n,将其拆分为k个的和(k >= 2),并使这些整数的乘积最大化。返回你可以获得的最大乘积。
2023-12-04 10:28:35 918
原创 代码随想录算法训练营第39天| 62.不同路径 63. 不同路径 II
JAVA代码编写一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?2 * 109。
2023-12-02 18:06:12 1548
原创 代码随想录算法训练营第36天| 435. 无重叠区间 763.划分字母区间 56. 合并区间
JAVA代码编写给定一个区间的集合intervals,其中。返回需要移除区间的最小数量,使剩余区间互不重叠。
2023-11-29 13:21:52 903
原创 代码随想录算法训练营第35天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
JAVA代码编写在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。给你一个整数数组bills,其中bills[i]是第i位顾客付的账。如果你能给每位顾客正确找零,返回true,否则返回false。51020。
2023-11-28 14:28:37 832
原创 代码随想录算法训练营第34天|1005.K次取反后最大化的数组和134. 加油站135. 分发糖果
JAVA代码编写给你一个整数数组nums和一个整数kinums[i]-nums[i]重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组。
2023-11-27 15:41:04 375
原创 代码随想录算法训练营第32天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
JAVA代码编写给你一个整数数组 ,其中 表示某支股票第 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润 。示例 1:示例 2:示例 3:提示:教程:https://programmercarl.com/0122.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BAII.h
2023-11-25 16:17:33 403
原创 代码随想录算法训练营第31天|455.分发饼干376. 摆动序列53. 最大子序和
贪心的本质是选择每一阶段的,从而达到全局最优。假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
2023-11-24 18:45:02 896
原创 代码随想录算法训练营第30天|回溯总结 332. 重新安排行程
回溯是递归的副产品,只要有递归就会有回溯,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。回溯法就是,并不是什么高效的算法,最多再剪枝一下。给你一份航线列表tickets,其中表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从JFK开始。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。假定所有机票至少存在一种合理的行程。且所有的机票 必须都用一次 且 只能用一次。toi。
2023-11-24 15:51:39 444
原创 代码随想录算法训练营第29天|491.递增子序列46.全排列47.全排列 II
JAVA代码编写给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中。你可以按返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。
2023-11-22 15:25:27 58
原创 代码随想录算法训练营第28天|93.复原IP地址 78.子集 90.子集II
JAVA代码编写正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的,这些地址可以通过在s中插入'.'来形成。你重新排序或删除s中的任何数字。你可以按顺序返回答案。
2023-11-21 18:58:20 92
原创 代码随想录算法训练营第27天|39. 组合总和 40.组合总和II 131.分割回文串
JAVA代码编写给你一个的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有,并以列表形式返回。你可以按返回这些组合。candidates中的数字可以。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。
2023-11-20 16:26:38 65
原创 代码随想录算法训练营第25天|216.组合总和III 17.电话号码的字母组合
JAVA代码编写找出所有相加之和为n的k返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。
2023-11-18 13:19:58 122
原创 代码随想录算法训练营第23天|669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树
JAVA代码编写给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在中。修剪树改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。[1, 104]
2023-11-17 16:58:34 71
原创 代码随想录算法训练营第22天|235. 二叉搜索树的最近公共祖先 701. 二叉搜索树中的插入操作 450.删除二叉搜索树中的节点
JAVA代码编写给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]
2023-11-16 16:56:33 60
原创 代码随想录算法训练营第21天|530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
JAVA代码编写给你一个二叉搜索树的根节点root,返回。差值是一个正数,其数值等于两值之差的绝对值。**注意:**本题与 783 https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/ 相同。
2023-11-15 14:40:52 52
原创 代码随想录算法训练营第20天|654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
JAVA代码编写给定一个不重复的整数数组nums。可以用下面的算法从numsnums返回 nums构建的。
2023-11-13 20:25:50 47
原创 代码随想录算法训练营第17天|110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶子之和
JAVA代码编写给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。[0, 5000]
2023-11-10 23:48:43 38
原创 代码随想录算法训练营第16天|104. 二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数
JAVA代码编写给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。[0, 104]
2023-11-09 21:27:52 208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人