![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法和数据结构
文章平均质量分 72
算法和数据结构
嗡嗡作响zzz
想说却还没说的,还很多
展开
-
动态规划经典——爬楼梯
爬楼梯题目经典动态规划问题:爬楼梯https://leetcode-cn.com/problems/climbing-stairs/假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 +...原创 2021-08-20 14:23:41 · 435 阅读 · 0 评论 -
动态规划经典——斐波拉契数列
https://leetcode-cn.com/problems/fibonacci-number/力扣网址,斐波拉契数列509题目斐波那契数,通常用F(n) 表示,形成的序列称为 斐波那契数列 。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。示例 1:输入:2输出:1解释:F(2) = F(1) ...原创 2021-08-16 15:51:03 · 587 阅读 · 0 评论 -
动态规划经典——编辑距离
题目给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例2:输入:word1 = ...原创 2021-05-17 11:33:10 · 120 阅读 · 0 评论 -
动态规划经典——分割等和子集(子集背包问题)
题目416. 分割等和子集难度中等778给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。分析1.该题是将数组拆分成两个不同元素的子集,转换为背包问...原创 2021-05-13 17:04:15 · 2265 阅读 · 0 评论 -
动态规划经典——换硬币(完全背包问题)
换硬币问题也是动态规格的一类经典问题,这里主要给出两个题,给出分析1.最少硬币数题目给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:...原创 2021-04-29 13:43:00 · 1729 阅读 · 0 评论 -
数据结构——单调栈详解
单调栈定义:从栈底元素到栈顶元素呈单调递增或单调递减,栈内序列满足单调性的栈。一般用于求解,元素的左边或者右边第一个大于或者小于元素的值。这里通过一道单调栈的例题进行举例分析。力扣真题https://leetcode-cn.com/problems/largest-rectangle-in-histogram/description/穷举其实可以想到的思路是穷举:以2作为高,计算最大面积;以1作为高,计算最大面积;以5作为高,计算最大面积;以6作为高,计.原创 2021-04-25 10:40:34 · 850 阅读 · 0 评论 -
数据结构——栈
栈的特性 现进后出(LIFO)的特性,即先放入的元素,后取出。如图,类似我们一个桶里面放东西,依次放入1-2-3-4,我们取出的时候总是需要4-3-2-1经典应用关于栈的经典面试题,就是消除类问题,大多数消除类问题,都会使用栈,如消除括号【题目】字符串中只有字符'('和')'。合法字符串需要括号可以配对。比如输入:"()"输出:true解释:(),()(),(())是合法的。)(,()(,(()是非法的。...原创 2021-04-19 21:58:04 · 67 阅读 · 0 评论 -
动态规划初识
开篇首先要了解动态规划,我们可以从这个题的解题思路入手https://blog.csdn.net/mk33092250/article/details/113862996请确保一定看懂了该题的题解思路,再继续往下。动态规划问题,大多是求解最值核心:找到最优子结构 找到状态转移方程该题,我们采用了一个一维数组存储结果,实际我们的思路中就用到了动态规划。countArray[i]就是我们的最优子结构,表示数组中连续i个元素的最长递增子序列。通过上一次的结果可以经过推.原创 2021-04-10 10:14:10 · 61 阅读 · 0 评论 -
动态规划经典——背包问题
题目给你⼀个可装载重量为 W 的背包和 N 个物品,每个物品有重量和价值两个属性。其中第 i 个物品的重量为 wt[i] ,价值为 val[i] ,现在让你⽤这个背包装物品,最多能装的价值是多少?举个简单的例⼦,输⼊如下:N = 4, W = 7wt = [2 , 3 , 4 , 5]val = [3 , 4 , 5 , 7]算法返回:10 ,解释:选择重量为2和5的收益最大,为10.分析背包问题难点在于构建dp数组,int[][] dp = new int[N + .原创 2021-04-08 19:46:10 · 471 阅读 · 0 评论 -
leetcode474.一和零
题目给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例 1:输入:strs = ["10", "0001", "111001", "1", "0"], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {"10","0001","1","0"} ,因此答案是 4.原创 2021-04-07 21:13:46 · 133 阅读 · 0 评论 -
斐波拉契数列三种实现(JAVA)
斐波拉契数列F[n]=F[n-1]+F[n-2](n>=2,F[0]=0,F[1]=1)递归实现//递归实现(n>0) public static int getFibonacci(int n){ if (n==1|| n==2){ return 1; } return getFibonacci(n-1)+getFibonacci(n-2); }效率低下,存在大量的重复计算...原创 2021-04-07 14:04:24 · 284 阅读 · 0 评论 -
leetcode88.合并两个有序数组
题目链接:https://leetcode-cn.com/problems/merge-sorted-array/88. 合并两个有序数组难度简单772给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组。初始化nums1和nums2的元素数量分别为m和n。你可以假设nums1的空间大小等于m + n,这样它就有足够的空间保存来自nums2的元素。示例 1:输入:nums1...原创 2021-02-20 14:46:46 · 214 阅读 · 1 评论 -
leetcode300. 最长递增子序列
题目链接:https://leetcode-cn.com/problems/longest-increasing-subsequence/300. 最长递增子序列难度中等1333给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18...原创 2021-02-19 14:35:13 · 248 阅读 · 1 评论 -
剑指 Offer 42. 连续子数组的最大和
题目:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof著作权归领扣网络所有。商业转载请联系官方授...原创 2021-02-19 14:06:27 · 102 阅读 · 0 评论