题目描述: 给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 题解: 在允许最多删除一个字符的情况下,同样可以使用双指针,通过贪心算法实现。初始化两个指针$low$ 和 $high$ 分别指向字符串的第一个字符和最后一个字符。每次判断两个指针指向的字符是否相同,如果相同,则更新指 ...
分类:
其他好文 时间:
2020-05-20 17:19:14
阅读次数:
47
并?和并发1.并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现?多个任务“?起”执?(实际上总有?些任务不在执?,因为切换任务的速度相当快,看上去?起执??已)真正的并?执?多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核?数量,所以,操作系统也会?动把很多任务轮流调度到每个核?上执?。2.并行:指的是任务数?于等于cpu核数,即任务真的是?起执?的。
分类:
其他好文 时间:
2020-05-20 15:45:54
阅读次数:
67
简介 Floyd算法算是最简单的算法,没有之一。 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }; map[i , j]表示 i 到 j 的最短距离,K是穷举 i , j 的断点,map[n , n]初值应该为0,或者 ...
分类:
编程语言 时间:
2020-05-19 18:14:39
阅读次数:
65
多任务 多任务含义: 生活中:一边听歌,一边跳舞 ,开车手操控方向盘,眼睛看路,脚踩油门 电脑:同时运行多个应用程序,例如qq,微信,浏览器同时在电脑上运行 并发和并行 并发:任务数大于核心数,通过操作系统调度算法实现多个任务“同时”执行,实际上是通过快速切换任务,看上去是一起执行的 并行:任务数小 ...
分类:
编程语言 时间:
2020-05-15 18:33:24
阅读次数:
69
1.汉诺塔算法 实现这个算法可以简单分为三个步骤: (1) 把n-1个盘子由A 移到 B; (2) 把第n个盘子由 A移到 C; (3) 把n-1个盘子由B 移到 C;从这里入手,在加上上面数学问题解法的分析,我们不难发现,移到的步数必定为奇数步: (1)中间的一步是把最大的一个盘子由A移到C上去; ...
分类:
编程语言 时间:
2020-05-14 22:37:40
阅读次数:
100
C#实现分页的算法 1 新建DataPages分页数据类如下 public class DataPages<T> where T : class, new() { /// <summary> /// 页码 /// </summary> public int PageIndex { get; set; ...
分类:
编程语言 时间:
2020-05-11 19:08:24
阅读次数:
75
本篇文章要分享的是基于MATLAB的腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作。 什么是二值图像呢?把一幅图片看做成一个二维的数组,那么二值图像是一个只有0和1的逻辑数组,我们前面Sobel边缘检 ...
分类:
编程语言 时间:
2020-05-10 17:06:46
阅读次数:
96
基于OpenCV的KNN算法实现手写数字识别 一、数据预处理 (1000, 2000) 50 (50, 100, 20, 20) (2500, 400) 二、knn算法预测 True 2439 识别测试数据的准确率为: 0.9756 三、导入图片预测 (1, 400) 识别出的数字为: 9.0 (2 ...
分类:
编程语言 时间:
2020-05-07 19:21:45
阅读次数:
158
平衡树——AVL算法 平衡树建立在二叉搜索树的基础上,加入了两侧子树大小相对平衡的特性而避免了很多情况下的算法退化。这里AVL算法实现的AVL树就是平衡树的一种。 1.二叉搜索树 在说平衡树之前我们得先复习一下二叉搜索树BST的定义: 一棵二叉树为二叉搜索树当且仅当它是一颗空树或者同时满足下列条件 ...
分类:
编程语言 时间:
2020-05-02 20:57:13
阅读次数:
58
问题背景: 我这边最近需要实现动态去画多边形(不规则的),类似于高德地图中那种面积测量工具一般。 方案: ”割耳“算法实现三角化平面。 具体实现: 割耳算法类: /* ******************************************************* * * 文件名称:E ...
分类:
编程语言 时间:
2020-04-26 19:00:26
阅读次数:
77