算法
墨者大数据
这个作者很懒,什么都没留下…
展开
-
算法之队列~使用数组模拟队列,详解!!!
下面介绍一下队列:1.队列是一个有序列表,可以用数组或者列表来实现2.遵循先入先出的原则3.队列示意图:从图中可以看出,队列有头部 front, 尾部:rear。队列的最大容量。在使用数组模拟队列的过程中,取数据时数组的数据并没有被删除,而是随着指针的移动,队列的的头部发生变化而引起队列数据的变化。这就是使用数组实现队列的效果。具体内容,可以自行品读其中玄妙…………上代码:// 使用数组模拟队列-编写一个ArrayQueue类 class ArrayQueue { privat原创 2021-08-26 10:36:02 · 254 阅读 · 0 评论 -
算法之~~~二维数组和稀疏数组之间的相互转换(棋盘、地图)
棋盘的结构如上图所示,将棋盘转换成二维数组,二维数组转换成稀疏数组,具有压缩的功能。具体代码如下:二维数组是:11 X 11稀疏数组:具有固定的散列,行数是二维数组中的值+1public class SparseArray { /** * @param args */ public static void main(String[] args) { // 创建一个原始的二维数组 11 * 11 // 0:表示没有棋子,1:表示黑子,2:表示蓝子 int chessArr.原创 2021-08-25 21:33:22 · 183 阅读 · 0 评论 -
学习算法心得(python实现)
算法是将思路用编程语言表达出来,但是其中转换过程则相对比较困难。对于算法的学习有了一些心得:1.首先将算法的实现原理列举出来2.利用程序将算法的每一步实现,3.实现的每一步算法进行整合,4.对于嵌套部分要注意内外的索引值最后一点也是最重要的一点就是经常做笔记,给自己定下目标。即,一天一个算法。这样可以不断地锻炼自己的思维,不断的提升。...原创 2019-09-16 22:31:23 · 519 阅读 · 0 评论 -
利用python语言实现在一个字符串中求无重复字符的最大长度(滑动窗口方法)
无重复最长字符串假设原始字符串S如下从左侧开始遍历S,以i标记窗口左侧,j标记窗口右侧,初始时,i=0,j=0,即开头a所在的位置,此时,窗口大小为1。然后,将j右移,逐步扩大窗口,依次经过b、c、d,此时,窗口内均无重复字符,继续右移j当j移动到d后面的a所在位置时,对应字符a在窗口中已存在,此时,窗口大小为5,去除当前重复的一位,窗口大小为4。此时窗口内的字符串abcd为找到窗口...翻译 2019-09-26 12:27:02 · 840 阅读 · 0 评论 -
字符串的无重复字符的最大长度求解(python实现)之双指针法
使用指针 - 滑动窗口优化 - 双指针法 - 使用数组索引,标记滑动窗口说明:直观的滑动窗口方法需要维护数组的增删,实际上比较耗时使用双指针(索引),记录滑动窗口起始和结束的索引值,可以减除数组增删操作,提高效率代码结构和上一种方法基本一致,只不过使用指针位移以及从原数组中截取,代替原来的窗口元素增删操作效率:Runtime: 40 ms, faster than 84.23% of...翻译 2019-09-26 12:33:11 · 330 阅读 · 0 评论