![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
leetcode题目自己的代码记录
烤乳鸽好好吃啊
菜鸡
展开
-
leetcode六道买卖股票问题
买卖股票系列是动态规划的经典题目,六种变型一、买卖股票的最佳时机 Ileetcode 121题题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。【注意】:只有一次交易机会,那么这道题就简化了许多。我们只需要用一个数组来维护即可,数组 dp[i] 表示在第 i 天卖出能获得的最大利润,用一个变量minPrice来记录 i 以前的最小价格,那么原创 2020-06-09 17:07:28 · 290 阅读 · 0 评论 -
leetcode 正则表达式匹配 回溯法与动态规划详解
题目请实现一个函数用来匹配包含’. ‘和’'的正则表达式。模式中的字符 ’ . ’ 表示任意一个字符,而 ’ * ’ 表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串 " aaa " 与模式 " a.a " 和 " abaca " 匹配,但与"aa.a"和"aba"均不匹配。示例 1:输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”p = “a原创 2020-06-02 09:10:16 · 329 阅读 · 2 评论 -
TopK问题,剑指offer40题
最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 100000 <= arr[i] <= 10000方案TopK问题主要有一下几种方法sor原创 2020-05-25 15:29:59 · 134 阅读 · 0 评论 -
leetcode剑指offer 面试题38. 字符串的排列
题目输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例输入:s = “abc”输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]限制1 <= s 的长度 <= 8分析这本身是一个全排列的题,但是并没有要求按照顺序来,使用回溯法即可。这道题难点在于有重复的元素,所以需要去重。方案一回溯法:先用sort给数组排序,使相同元素相邻,使用一个visited数组来记录每个节点的状态,使用一个v原创 2020-05-22 20:56:40 · 254 阅读 · 0 评论 -
子集 - leetcode
题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]来源:力扣(LeetCode)链接:https://leetcode-cn.com/p...原创 2020-01-07 11:11:24 · 124 阅读 · 0 评论 -
3、删除排序数组中的重复项
题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nu...原创 2019-11-27 20:59:29 · 108 阅读 · 0 评论 -
2、回文数
题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。代码样...原创 2019-11-23 17:26:54 · 341 阅读 · 0 评论 -
1、两数之和
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]代码样例:...原创 2019-11-21 09:13:12 · 81 阅读 · 0 评论