
leetcode
leetcode题目自己的代码记录
烤乳鸽好好吃啊
菜鸡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode六道买卖股票问题
买卖股票系列是动态规划的经典题目,六种变型 一、买卖股票的最佳时机 I leetcode 121题 题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 【注意】:只有一次交易机会,那么这道题就简化了许多。 我们只需要用一个数组来维护即可,数组 dp[i] 表示在第 i 天卖出能获得的最大利润,用一个变量minPrice来记录 i 以前的最小价格,那么原创 2020-06-09 17:07:28 · 349 阅读 · 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 · 415 阅读 · 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 <= 10000 0 <= arr[i] <= 10000 方案 TopK问题主要有一下几种方法 sor原创 2020-05-25 15:29:59 · 177 阅读 · 0 评论 -
leetcode剑指offer 面试题38. 字符串的排列
题目 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例 输入:s = “abc” 输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”] 限制 1 <= s 的长度 <= 8 分析 这本身是一个全排列的题,但是并没有要求按照顺序来,使用回溯法即可。这道题难点在于有重复的元素,所以需要去重。 方案一 回溯法: 先用sort给数组排序,使相同元素相邻,使用一个visited数组来记录每个节点的状态,使用一个v原创 2020-05-22 20:56:40 · 357 阅读 · 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 · 163 阅读 · 0 评论 -
3、删除排序数组中的重复项
题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: 给定 nu...原创 2019-11-27 20:59:29 · 142 阅读 · 0 评论 -
2、回文数
题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 代码样...原创 2019-11-23 17:26:54 · 408 阅读 · 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 · 116 阅读 · 0 评论