✨博主:命运之光🦄专栏:算法修炼之练气篇🍓专栏:算法修炼之筑基篇✨博主的其他文章:点击进入博主的主页前言:学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了,下来我们进阶到算法修炼之筑基篇的学习。筑基期和练气期难度可谓是天差地别,懂得都懂,题目难度相比起练气期的题目难度提升很多,所以要是各位蒟蒻小伙伴们看不懂筑基期的题目可以在练气期多积累积累,练气期的题目也会不断更新,大家一定要把基础打牢固了再来看筑基期的题目哈,这样子也可以提高大家的学习效率,一举两得,加油(●'◡'●)🎉🎉 目录✨贪心算法到底是什么?怎么使用它?它适合于怎么样的问题?🍓使用贪心算法时,通常遵循以下步骤:🍓常见适合使
✨博主:命运之光🦄专栏:算法修炼之练气篇🍓专栏:算法修炼之筑基篇✨博主的其他文章:点击进入博主的主页前言:学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了,下来我们进阶到算法修炼之筑基篇的学习。筑基期和练气期难度可谓是天差地别,懂得都懂,题目难度相比起练气期的题目难度提升很多,所以要是各位蒟蒻小伙伴们看不懂筑基期的题目可以在练气期多积累积累,练气期的题目也会不断更新,大家一定要把基础打牢固了再来看筑基期的题目哈,这样子也可以提高大家的学习效率,一举两得,加油(●'◡'●)🎉🎉目录✨详解文字版(01背包,完全背包,多重背包)🍓01背包问题 🍓完全背包问
🍈作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生🍇个人主页:亦世凡华、的csdn博客🍓系列专栏:HTML专栏🥝推荐一款模拟面试刷题神器🔥:点击跳转进入网站文章目录一、HTML入门HTML的基本骨架HTML标签分类单标签双标签总结HTML标签关系HTML开发者工具二、HTML标签HTML标签的语义化为什么要有语义化标签排版标签标题标签段落标签水平线标签换行标签div和span标签pre标签引言如果你准备开始接触前端,开始前端学习之路,一般先学习html+css,这里我们先给自己定下一个小目标,先学HTML再学CSS。加油~一、HTML入门HTML(英文HyperText-Mar
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录1.ArrayList动态数组2.链表LinkedList3.栈Stack4.队列Queue5.集合HashSet——去重6.HashMap——存放键值对7.TreeSet-带排序的集合1.ArrayList动态数组ArrayList是Java中的一个类,它实现了List接口,是一个动态数组。它可以自动扩容、支持泛型、支持随机访问等特性。动态数组是一种可以自动调整大小的数组。当数组满了之后,动态数组会自动扩容,以容纳更多的元素。相比于普通的数组,动态数组的容量是可以动态调整的,因此更加灵活和方便。ArrayList的常用方法包括:add(Ee):向列表
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录1.最大连续子段和2.LCS最大公共子序列3.LIS最长上升子序列4.数塔5.最大子矩阵和6.背包问题①01背包问题②完全背包1.最大连续子段和这段代码是一个求最大子数组和的算法,使用的是动态规划的思想。下面是代码的解释:首先定义了一个整数数组arr,用于存储给定的一组数。然后定义了一个整数数组dp,用于存储以arr中每个元素为结尾的最大子数组和。接着将dp的第一个元素设置为0和arr的第一个元素的最大值。然后从第二个元素开始循环遍历数组dp,将当前元素的dp设置为:前一个元素的dp和当前元素的arr之和 与当前元素的arr 比较最大值。最后按升序对数
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录1.最大连续子段和2.LCS最大公共子序列3.LIS最长上升子序列4.数塔5.最大子矩阵和6.背包问题①01背包问题②完全背包1.最大连续子段和这段代码是一个求最大子数组和的算法,使用的是动态规划的思想。下面是代码的解释:首先定义了一个整数数组arr,用于存储给定的一组数。然后定义了一个整数数组dp,用于存储以arr中每个元素为结尾的最大子数组和。接着将dp的第一个元素设置为0和arr的第一个元素的最大值。然后从第二个元素开始循环遍历数组dp,将当前元素的dp设置为:前一个元素的dp和当前元素的arr之和 与当前元素的arr 比较最大值。最后按升序对数
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录1.找零问题①暴力枚举②贪心2.人性总是贪婪的3.堆果子4.图书推荐 1.找零问题有币种1、2、4、5、10若干张,找零n元,输出找零方案。①暴力枚举这是一个找零问题,我们需要找到一种方案,使得用给定的硬币找零时,所需的硬币数量最少。在这个代码中,我们使用了暴力枚举的思路,即枚举每种硬币的数量,然后判断是否能够凑出目标金额。如果能够凑出目标金额,则输出方案。这种方法的时间复杂度为O(n^5),因为我们需要枚举每种硬币的数量,而硬币的种类有5种,所以总共需要枚举5层循环。这种方法的优点是代码简单易懂,容易实现。缺点是时间复杂度较高,不适用于大规模数据的处
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录1.找零问题①暴力枚举②贪心2.人性总是贪婪的3.堆果子4.图书推荐 1.找零问题有币种1、2、4、5、10若干张,找零n元,输出找零方案。①暴力枚举这是一个找零问题,我们需要找到一种方案,使得用给定的硬币找零时,所需的硬币数量最少。在这个代码中,我们使用了暴力枚举的思路,即枚举每种硬币的数量,然后判断是否能够凑出目标金额。如果能够凑出目标金额,则输出方案。这种方法的时间复杂度为O(n^5),因为我们需要枚举每种硬币的数量,而硬币的种类有5种,所以总共需要枚举5层循环。这种方法的优点是代码简单易懂,容易实现。缺点是时间复杂度较高,不适用于大规模数据的处
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录递归树1.递归构建二进制串 2.全排列的DFS解法3.全排列的BFS解法4.数的划分法5.图书推荐递归树递归树是一种用于分析递归算法时间复杂度的工具。它可以将递归算法的执行过程可视化,从而更好地理解算法的时间复杂度。递归树的构造方法如下:首先,将递归算法的输入规模表示为根节点。然后,将递归算法的每一次递归调用表示为树的一个子节点。对于每个子节点,将其表示为一个与父节点相同的问题,但是规模更小的子问题。重复上述步骤,直到递归算法的规模为1或者0。递归树的叶子节点表示递归算法的基本操作,而递归树的深度表示递归算法的递归深度。通过递归树,可以很容易地计算出递
🍓系列专栏:蓝桥杯🍉个人主页:个人主页目录递归树1.递归构建二进制串 2.全排列的DFS解法3.全排列的BFS解法4.数的划分法5.图书推荐递归树递归树是一种用于分析递归算法时间复杂度的工具。它可以将递归算法的执行过程可视化,从而更好地理解算法的时间复杂度。递归树的构造方法如下:首先,将递归算法的输入规模表示为根节点。然后,将递归算法的每一次递归调用表示为树的一个子节点。对于每个子节点,将其表示为一个与父节点相同的问题,但是规模更小的子问题。重复上述步骤,直到递归算法的规模为1或者0。递归树的叶子节点表示递归算法的基本操作,而递归树的深度表示递归算法的递归深度。通过递归树,可以很容易地计算出递