自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 LeetCode 子集 ⅠⅡ (回溯标准模板)

其中可能包含重复元素,请你返回该数组所有可能的 子集(幂集)。返回的解集中,子集可以按。返回该数组所有可能的子集(幂集)。

2024-06-22 21:16:46 182

原创 LeetCode 216. 组合总和 III

我们可以看到遍历顺序是从小到大,在我们递归深入时,path集合肯定是越来越大的,举个例子,在示例3中,当我们搜索到[1,2,6]时满足答案要求往上反,回溯弹出6并加入7,这个时候结果肯定是不满题意的,那后面的8,9肯定都是可以跳过,所以我们可以将6后面的递归调用进行一个剪枝,当sum>n1时也能进行一个剪枝,比如示例3中,选择了[5,6],第三个数就可以不用选了直接返回。在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。

2024-06-18 21:16:07 374

原创 LeetCode 买卖股票的最佳时机ⅠⅡ

两道题都要求我们找出股票的最大利润,第一题只能购买一次股票(也就是尽可能再最低点买入最高点卖出),第二题则可以多次买入卖出股票,不过手里的股票数量最多为1。很显然第i天是否购买或卖出与前面i-1天相关,所以第i天我们有四种状态,所以状态数组我们使用二维数组,用dp[i][0]表示第i天持有股票的最大利润,dp[i][1]表示第i天不持有股票的最大利润,从1开始求解前i天的最大利润。(做动态规划类的题目要始终记得dp数组的含义)

2024-06-11 09:29:42 397

原创 LeetCode 503. 下一个更大元素 II

题目本身到不难理解,暴力时间复杂度O(n*n)必定TLE,同样可以采取单调栈进行时间上的优化,最终只需遍历一遍,也就是O(n)即可找出答案,直接上代码。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。第二个 1 的下一个最大的数需要循环搜索,结果也是 2。第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;

2024-06-08 16:13:47 417

原创 LeetCode 496. 下一个更大元素 I

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素。从题意不难看出,要找出nums1中的元素在nums2中的下一个更大元素 ,很容易想到取出nums1里面的元素到nums2中查找(元素唯一),若找到了再往后面遍历,若找到更大元素则放到结果数组中,没找到结果为-1。输入:nums1 = [4,1,2], nums2 = [1,3,4,2].输出:[-1,3,-1]

2024-06-05 19:03:43 700 3

原创 LeetCode 334.递增的三元子序列

思路:需要在一个数组中找到一个三元组(不是连续的)若递增则返回true,若不能则返回false。题意不难理解,暴力解法找到中间的j再往前找一个小的往后找一个大的,但是时间复杂度较高。预处理找到中间数前面最小值和后面最大值,再一次遍历即可时间复杂度O(n),空间复杂度O(n)。

2024-06-05 16:06:35 218

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除