自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 二分解决最大化最小值问题

题目要求我们从这n个区间中选择n个数,再求这n个数两两之间最小绝对差的最大值。为方便观察,我们对这n个数进行排序,其实也就是对这n个区间按照区间左端点进行排序,也就是对。​ 二分的本质思想就是将一个整体拆成两半,选取合适的一半之后再拆,再选,一直循环下去拿到最终想要的结果。所选整数的得分定义为所选整数两两之间的最小绝对差。贪心地想,第一个数越小,第二个数就越能在区间里,所以。这些数的任意两数之差至少为m,现在我要找符合条件的。,那么这n个数是很容易选出来的,如果。是具有单调性的,我们要的是值为。

2024-09-10 14:15:22 607

原创 利用前缀信息解决子数组问题(下)

Problem6。

2024-09-09 20:23:24 756

原创 利用前缀信息解决子数组问题(上)

前缀和的具体应用

2024-09-08 19:39:59 840

原创 前缀和 — 利用前缀信息解决子数组问题

前缀和只是我们用来表示子数组的一种方法而已,遇到具体问题,我们要找出问题的本质,子数组间有什么关系?,前缀和只是一种求子数组和子矩阵的方法而已,当遇到需要求解子数组或者子矩阵的问题时,如果需要用到子数组或者子矩阵中的元素,可以使用前缀和来表示子数组或者子矩阵。这道题算是【和为 K 的子数组】的变式,求【和为 K 的整数倍的子数组】,我们先考虑迁移【和为 K 的子数组的解法】。移动窗口的起始和结束指针,依据问题的要求调整窗口的大小,维护窗口的状态(例如窗口内元素的和,最大值,最小值等)。】和【出现的次数】。

2024-09-07 22:38:01 712

原创 异或运算的高级应用和Briankernighan算法

特别提醒:实现位运算要注意溢出和符号扩展等问题。

2024-09-05 15:42:54 1164

原创 前缀树原理与代码详解

前缀树的静态数组实现原理

2024-09-01 22:28:37 1113

原创 对数器打表找规律

小明去商店买苹果,发现只有【能装8个苹果的袋子】和【能装6个苹果的袋子】,节俭的小明只有当自己手上的袋子全部被装满时才会买苹果,现在我想知道小明买苹果需要用掉多少个袋子。简要介绍一下”好串“的概念,”好串“指的是,如果字符串内部有且只有一个长度>=2的回文子串,那么这个串就叫子串。【由于我们有6容量的袋子,所以最终的苹果数就是6的余数 0,1,2,3,4,5。这个题目的要求就是,字符串中的字符只能从 ‘r’ ,’e’ ,’d’ 三个字符中选,用这三个字符拼出长度为n的字符串,求长度为n的好串的个数。

2024-08-02 00:32:51 796

原创 图论基础与遍历算法

图论基础及图的DFS遍历

2024-07-23 18:25:39 1239

原创 详细研究`BFS`(广度优先搜索)的使用与优化

配合前面的双向遍历观看,你会对BFS更加了解

2024-06-15 00:20:40 799

原创 动态规划的空间压缩技巧(降低空间复杂度)

空间压缩再厉害,终究是建立在常规动态规划的思路之上的。在进行空间压缩之后,代码的可读性变得极差,如果直接看这种解法,大多数人会一脸懵逼,算法的优化就是这么一个过程,先写出可读性很好的暴力递归解法,然后尝试利用动态规划技巧优化重叠子问题(降低时间复杂度),再尝试利用空间压缩技巧优化空间复杂度。LeetCode63。

2024-06-14 14:38:11 705

原创 BFS(广度优先搜索)优化技巧 — 双向遍历

BFS。

2024-06-13 18:26:45 854 1

原创 BFS(广度优先遍历)算法框架

如果想找到最短路径的整个路径,即最短路径经过了哪些节点,需要从【target】开始回溯,拿这个【求二叉树的最小深度】举例,我们从终点【target】开始回溯,依着父节点找,一直找到【start】,这条路径就是我们要找的最短路径。输入: deadends = ["8887","8889","8878","8898","8788","8988","7888","9888"], target = "8888"/*//如果此节点不是目标节点,则将此节点的邻接节点推入队列,继续访问下一个节点。

2024-06-12 23:07:56 663 2

原创 动态规划难题:转盘问题

给定一个字符串ring,表示刻在外环上的编码;给定另一个字符串key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转ring以使key的一个字符在12:00方向对齐,然后按下中心按钮,以此逐个拼写完 key中的所有字符。旋转ring拼出 key 字符key[i]的阶段中:您可以将ring顺时针或逆时针旋转一个位置,计为1步。旋转的最终目的是将字符串 ring的一个字符与12:00。

2024-06-11 18:29:53 715

原创 背包问题详细分析—康Sir的学习笔记

0-1背包问题与完全背包问题

2024-06-09 22:31:56 1823 2

原创 两道题回顾之前学习的动态规划所有流程— 康Sir的学习笔记

状态转移方程不同角度分析以及空间压缩

2024-06-08 23:37:40 411

原创 对动态规划进行降维打击(状态压缩)-康Sir的学习笔记

针对动态规划的二维dp数组进行空间优化—空间压缩

2024-06-07 20:18:11 1785 2

原创 动态规划的最优子结构原理和dp数组遍历方向(我的学习笔记)

在利用。

2024-06-06 19:42:40 1389 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除