
Leetcode基础算法
文章平均质量分 96
入门算法
MrBlackmzq
这个作者很懒,什么都没留下…
展开
-
Datawhale Leecode基础算法篇 task04:贪心算法
贪心算法(Greedy Algorithm):一种在每次决策时,总是采取在当前状态下的最好选择,从而希望导致结果是最好或最优的算法。贪心算法是一种改进的「分步解决算法」,其核心思想是:将求解过程分成「若干个步骤」,然后根据题意选择一种「度量标准」,每个步骤都应用「贪心原则」,选取当前状态下「最好 / 最优选择(局部最优解)」,并以此希望最后得出的结果也是「最好 / 最优结果(全局最优解)」。原创 2024-09-27 17:39:13 · 1089 阅读 · 0 评论 -
Datawhale Leecode基础算法篇 task02:递归算法and分治算法
递归(Recursion):指的是一种通过重复将原问题分解为同类的子问题而解决的方法。在绝大数编程语言中,可以通过在函数中再次调用函数自身的方式来实现递归。举个简单的例子来了解一下递归算法。比如阶乘的计算方法在数学上的定义为:if n == 0:return 1我们可以把「递归」分为两个部分:「递推过程」和「回归过程」。递推过程:指的是将原问题一层一层地分解为与原问题形式相同、规模更小的子问题,直到达到结束条件时停止,此时返回最底层子问题的解。回归过程。原创 2024-09-21 22:51:59 · 993 阅读 · 0 评论 -
Datawhale Leecode基础算法篇 task03:回溯算法
回溯算法(Backtracking):一种能避免不必要搜索的穷举式的搜索算法。采用试错的思想,在搜索尝试过程中寻找问题的解,当探索到某一步时,发现原先的选择并不满足求解条件,或者还需要满足更多求解条件时,就退回一步(回溯)重新选择,这种走不通就退回再走的技术称为「回溯法」,而满足回溯条件的某个状态的点称为「回溯点」。简单来说,回溯算法采用了一种走不通就回退的算法思想。找到一个可能存在的正确答案;在尝试了所有可能的分布方法之后宣布该问题没有答案。原创 2024-09-24 20:54:07 · 1142 阅读 · 0 评论 -
Datawhale Leecode基础算法篇 task05:位运算
位运算(Bit Operation):在计算机内部,数是以「二进制(Binary)」的形式来进行存储。位运算就是直接对数的二进制进行计算操作,在程序中使用位运算进行操作,会大大提高程序的性能。二进制数(Binary):由 0 和 1 两个数码来表示的数。二进制数中每一个 0 或每一个 1 都称为一个「位(Bit)」。在二进制数中,我们只有 0 和 1 两个数码,它的进位规则是「逢二进一」。二进制转十进制数:除二取余,逆序排列法。傻瓜式十进制转二进制,二进制转十进制功 能位运算示例。原创 2024-09-29 17:25:51 · 1294 阅读 · 0 评论 -
Datawhale Leecode基础算法篇 task01:枚举算法
枚举算法(Enumeration Algorithm):也称为穷举算法,指的是按照问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中将它们逐一与目标状态进行比较以得出满足问题要求的解。在列举的过程中,既不能遗漏也不能重复。简而言之,枚举算法的核心通过列举问题的所有状态,将它们逐一与目标状态进行比较,从而得到满足条件的解。由于枚举算法要通过列举问题的所有状态来得到满足条件的解,因此在问题规模变大时,其效率一般较低。多数情况下容易编程实现,也容易调试。原创 2024-09-17 16:21:15 · 1014 阅读 · 0 评论