- 博客(4)
- 收藏
- 关注
原创 回溯--全排列
LeetCode(46):全排列题目描述解题思路代码实现代码执行效率题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路对于给定的数组元素进行重新排列,即调整各个元素在数组中的位置。对于数组中第一个位置,原数组中的n个元素都可以存放;对于数组中第二个位置,原数组中的n-1个元素都可以存放;…利用
2021-04-24 09:36:07 236
原创 双向指针——盛最多水的容器
LeetCode(11):盛最多水的容器题目描述解题思路代码实现执行效率题目描述给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。不能倾斜容器。解题思路若有两个坐标(i,ai) 和 (j,aj),则容器的容量为 |(j-i)| *min(ai,aj)。容易发现容量的大小有两个变量所决定。如果我们可以知道两
2021-04-20 08:30:56 99
原创 动态规划——最佳买卖股票时机含冷冻期
LeetCode(309):最佳买卖股票时机含冷冻期题目描述给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。int[ ] prices 股票价格。解题思路1、动态规划与分治算法思想一致,都是将复杂问题分解成若干小问题,最后通过小问题进行求。不同的是,分治算
2021-04-13 10:05:26 110
原创 双向指针,三数求和
双向指针,三数求和LeetCode(15):三数之和**题目描述:****解题思路:****代码实现:****执行效率**LeetCode(15):三数之和题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。解题思路:数组排序 + 双向指针将数组nums按照从小到达的顺序进行排序。左指针指向当前元素的下一个元素left = i +1
2021-04-10 10:35:15 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人