
算法
文章平均质量分 70
勒布朗-前端
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
全排列算法
如果我们选用递归回溯法来解决这个问题,那么最重要的问题就是设计我们的递归函数。,并且此时我们发现处理的属性数组下标已经到达了末尾,那么就放入全局的结果变量。这一项为起点的递归树图,当然这个问题是一个多个根节点的树,请自行脑补。由于这些属性数组是不定项的,所以不能简单的用三重的暴力循环来求解了。位置对应的值,再不断的再以其他剩余的下标作为起点去做下一次拼接。作为递归的起点,那么显然是不可能得到结果的,因为。,那此时我们有一个未完成的结果状态,假设我们叫它。,可以看出排列组合的递归解法还是有一定的难度的。原创 2024-03-21 16:23:42 · 484 阅读 · 0 评论 -
贪心算法问题
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。把饼干和孩子的需求都排序好,然后从最小的饼干分配给需求最小的孩子开始,不断的尝试新的饼干和新的孩子,这样能保证每个分给孩子的饼干都恰到好处的不浪费,又满足需求。一个小朋友最多只能拥有一块饼干。原创 2024-03-21 17:17:05 · 918 阅读 · 0 评论 -
动态规划-算法
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。打家劫舍 - 198。原创 2024-03-21 17:18:24 · 393 阅读 · 0 评论 -
递归与回溯
先来看问题,其实问题不难理解:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。原创 2024-03-21 17:20:38 · 741 阅读 · 0 评论 -
算法-排序与双指针
具体实现时,需要先确定待排序数组中最大元素的值max,然后创建一个长度为max+1的计数数组count,遍历待排序数组,统计每个元素出现的次数,最后根据计数数组将元素放入相应的位置。具体实现时,需要先确定桶的数量和每个桶的范围,然后遍历待排序数组,将每个元素放入相应的桶中,最后对每个桶内部使用其他排序算法进行排序,最后将所有桶中的元素按照顺序依次放入待排序数组中。归并排序是一种基于分治思想的排序算法,其基本思想是将数组分成两个子数组,递归地对子数组进行排序,然后将两个有序的子数组合并成一个有序的数组。原创 2023-06-12 17:35:46 · 1168 阅读 · 0 评论 -
数据结构和算法
实现一个LRU缓存实现一个LRU缓存求环状链表树的前序、中序、后序遍历树的层序遍历获取树的层级实现 类数组转数组实现 DOM转JSON实现 JSON转DOM实现 树转数组实现 数组转树实现 对象打平实现一个LRU缓存LRU缓存是一种常见的缓存算法,它的全称是Least Recently Used,即最近最少使用。LRU缓存的基本思想是,当缓存空间不足时,将最近最少使用的缓存数据删除,以腾出空间存储新的数据。在这个实现中,LRUCache类有两个方法:get和put。原创 2023-06-12 16:51:00 · 1434 阅读 · 0 评论