自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC请求流程分析

SpringMVC请求流程分析1. 引入1.1 MVC思想通过分离模型(Model)、视图(View)以及控制器(Controller)在应用程序中的角色将业务从界面解耦1.2 三大组件的功能控制器: 控制器负责接收用户请求,并调用后台服务(servlet或者dao)来处理业务逻辑;模型: 模型负责封装应用程序数据,在视图层栈实(视图仅仅展示数据,不包含业务逻辑);视图: 将经过渲染的结果展示给用户;2. SpringMVC请求处理分析...

2021-05-24 17:08:53 358

原创 Kosaraju算法与有向图的强连通分量

Kosaraju算法今天在学习图论算法的过程中,接触到了一个挺有意思的算法;首先,先明确一下强连通分量的定义:如果两个顶点v和w是互相可达的,则称它们是强连通的(两个顶点是强连通的当且仅当它们都在一个普通的有向环中);接下来,不妨先来思考下面这两个问题:给定一幅有向图,给定的两个顶点是强连通的吗?给定一幅有向图,这副有向图中的强连通分量有多少个?算法过程通过上述的思考,我们可能对于Kosaraju算法有一个大致的了解,那么算法的实现思路又是怎么样的呢?首先,我们先对原图G进行一遍D

2021-04-29 17:50:51 282 2

原创 995. K 连续位的最小翻转次数

1.题目描述:在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。示例 1:输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。示例 2:输入:A = [1,1,0], K = 2输出:-1解释:无论我们怎样翻转大小为 2 的子数组,我们都不能使数

2021-02-18 19:44:12 144 1

原创 删除最外层的括号(LeetCode 1021)

题目描述:有效括号字符串为空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。给出一个非空有效字符串 S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + … + P_k,其中 P_i 是

2020-09-26 20:18:59 221

原创 最大子序和 (LeetCode 53)

题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。算法实现:算法一:暴力求解int maxSubArray(int* nums, int numsSize){//暴力求解 int max = INT_MIN; for (int i = 0; i < numsSize; i++) { i

2020-07-08 15:07:26 169

原创 外观数列 (LeetCode 38)

题目描述:给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “一个 1 ”,记作 11描述前一项,这个数是 11 即 “两个 1 ” ,记作 21描述前一项,这个数是 21 即 “一个 2 一个 1 ” ,记作 1211

2020-07-07 22:01:21 188 1

原创 搜索插入位置 (LeetCode 35)

题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例:输入: [1,3,5,6], 2输出: 1算法实现:二分搜索法int searchInsert(int* nums, int numsSize, int target){ int a = 0, b = numsSize - 1, mid; while (a <= b) { mid = (a + b) / 2; i

2020-07-07 20:24:13 125

原创 实现strStr() (LeetCode 28)

题目描述:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例:输入: haystack = “hello”, needle = “ll”输出: 2算法实现:int strStr(char * haystack, char * needle){ int length1 = strlen(haystack); int length2

2020-07-05 20:50:26 123

原创 删除排序数组中的重复项(LeetCode 26)

题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。示例:不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。你不需要考虑数组中超出新长度后面的元素。算法实现:快慢指针法int removeDuplicates(int* nums

2020-07-05 17:02:31 155

原创 MATLAB实现Dijkstra最短路算法

1.算法作用及适用范围源点与汇点为图中存在边的两个顶点;费用即为权值;(如有不便,可以在草稿纸上画出来并标明权值)迪克斯特拉算法解决无向加权图中最短路问题,所有的权为正。1.1推理描述需求:求从①顶点到④顶点的最短路径分析:(权值为到①的权值和)寻找第一近的顶点;假设从①顶点开始(后文简称1);找到一个距离①最近的顶点,这些顶点分别为权值为4的②和权值为2的⑥;所以⑥是最靠近①的顶点。寻找第二近的顶点;查看所有以①为起点到集合{①,⑥}中的顶点的最短路;接着的边以{①,⑥}中的边为起点,寻

2020-06-14 22:34:51 3640 3

原创 MATLAB实现Floyd最短路算法

1.算法作用及适用范围可以求出加权连通图(有向图、无向图)中所有顶点之间最短路的长度;不过,不能用这个算法来构造最短路,同时不能用来计算带有负权回路的最短路。2.引入2.1邻接矩阵和路由矩阵①邻接矩阵:邻接矩阵的元素即点vi到vj的权值,即A(i,j)=w(i,j);若vi到vj之间无边相连,则为Inf。②路由矩阵:通俗的解释,路由矩阵的元素实际上就是求vi到vj的传递闭包(前提存在两个点之间的传递闭包)的中间过渡点,其对应的r(i,j)就是过渡点;例:可以看到,对应元素r(2,1)= 3;

2020-06-14 10:16:22 2812 1

原创 Matlab免疫算法---解决二维规划问题(下)

条件的罗列%m----表示抗体规模%n----每个抗体二进制字符串长度%mn—从抗体集合里选择n个具有较高亲和度的最佳个体进行克隆操作%A—抗体集合(m by n)抗体总数为m,每个抗体用n个二进制编码(代表参数)%T—临时存克隆群体的集合,克隆规模是抗原亲和度度量的单调递增函数%FM—每代最大适应度值的集合%FMN—每代平均适应度值集合%AAS—每个克隆的最终下标位置%BBS—...

2020-02-26 21:57:57 841 1

原创 Matlab免疫算法---解决二维规划问题(上)

免疫算法:免疫算法是模仿了人体的免疫系统机制进行的一种算法,同时它也是遗传算法的理论基础,归根结底,免疫算法的主要步骤是(代码及详解在后):①抗原识别:即寻找要解决的问题。②初始抗体生成:生成随机解,一部分来自初始化,在这里因为有很多的迭代次数,所以每一次迭代都会出现新的随机解,这也是另一部分初始解的来源,即从上一次迭代的记忆库中提取出。③亲和力计算:通过构造评价函数来进行亲和力的计算,在...

2020-02-26 21:45:39 1272 1

空空如也

空空如也

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

TA关注的人

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