数据结构
文章平均质量分 61
笔下天地宽
能不凑合就不凑合!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
看一看LRU与LFU
LRU(Least recently used:最近最少使用)和LFU(Least frequently used:最不经常使用),两个都是链表结构,一般是作为缓存使用,当然,既然是缓存,空间肯定是有限制的,不然你直接把内存挤爆了,那程序也只能GG了。原创 2023-07-07 17:04:59 · 696 阅读 · 0 评论 -
算法练习---字符串包含子串(KMP)
字符串包含问题,看一看传说中的KMP算法,咦,没想到,居然看懂了原创 2022-06-18 19:07:05 · 973 阅读 · 0 评论 -
算法练习----Z 字形变换
Z 字形变换原创 2022-06-14 13:53:34 · 160 阅读 · 0 评论 -
算法练习-最大括号深度
最大括号深度的计算原创 2022-06-14 10:36:07 · 483 阅读 · 0 评论 -
回顾下接雨水问题
接雨水问题原创 2022-03-29 15:47:18 · 1055 阅读 · 0 评论 -
自定义环形链表,简单实现约瑟夫问题
17世纪的法国数学家加斯帕在《数目的游戏问题》中讲了这样一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。 简单写个代码实现下,自定义一个环形链表,然后定义新增删除方法,将这30个人加到链表中去,然后没数到9,就,干掉。 当然,使用ArrayList和Li...原创 2021-06-19 10:58:10 · 259 阅读 · 0 评论 -
找出最大长度重复字符串
闲话不多说了,写了一个简单的查找算法,就是找出最大长度重复字符串,或者说找出规律字符串等待之类的,都是这个意思。题目如下:问题比较easy,就不多啰嗦,说下思路,直接上代码!思路:重复次数肯定和长度相关的,比如长度为14 ,那么重复的只能是1,2,7,14个字符长度的字符串,对比其他的并没有意义方法:字符串长度求余,字符串分割对比,递归循环,直到找到最长的字符串代码如下,几乎每行都注释了,老铁们应该看得懂,感觉还行的话,关注下撒!点个赞也可以的哟~import org...原创 2021-04-14 18:32:06 · 1896 阅读 · 0 评论 -
java排序算法归纳(常见排序)
温故可以知新,排序算法不是很难,平时我们排序,java中都自带排序算法,像集合中自带的排序算法,底层实现就是归并排序和二叉树排序,有兴趣的小伙伴可以去看看。 下面聊聊普通的排序算法,不是特别深奥,直接写一点代码,回顾下算法的一些思想以及实现1、冒泡排序, 这个就不说了,直接上代码了,最开始接触算法的时候学习的。 /** * 冒泡排序 * 时间复杂度O(n*n) * @param list * @retur...原创 2020-10-13 18:52:30 · 223 阅读 · 1 评论 -
从1-100的数组中找到缺少的那个数
前两天翻看一个算法面试,写了一题,直接贴出来啦!这种处理其实在java中直接生成新的一个list,然后又remove一下直接就搞定了,这样List<Integer> list = Stream.iterate(1, n -> n + 1).limit(100).collect(Collectors.toList()); list.remove(list.indexOf(33)); //这里我也想直接写33的,但是数字的话list会自动识别为下标,只能加一层了原创 2020-08-10 21:12:11 · 3106 阅读 · 0 评论 -
两个特别大的数字相乘(不允许使用BigDecimal)
连个大数字相乘与两个大数字相加思路是相同的,不过逻辑可能麻烦点,首先我们先设计下1、两个大数字相乘,无非也是转换为数组进行相乘,但是两个数组相乘循环遍历相加,太繁琐了,容易出错,所以我们使用一个数组与一个数字相乘,然后把这些结果相加,那么问题就可以解决了,下面我们在编写一个数组与一个数字相乘的代码,当然,末尾的数字是直接相乘即可,但是前面的呢?后面肯定要加0啊,于是要有一个offset,记录相...原创 2018-09-11 23:04:56 · 1783 阅读 · 0 评论 -
java 大数字相加(如两个500位数字相加)
这两天忙里偷闲,由稍稍看了下数据结构,看到网上有许多关于两个大数字相加的问题,我这边也就顺便写了一个,好了,闲话不多说,直接上代码 //两个大数字相加 public static String numberPlus(String s1, String s2) { //将数字转换成char类型的数组,然后每一位进行运算 char[] char1; ...原创 2018-09-09 21:50:16 · 2548 阅读 · 0 评论 -
字符串分割排序(java简单的递归实现)
字符串"a||b||c","a||c||b""b||c||d""b||d||a""a||c||d""a||b||d"等实现梯次排序 第一列是顺序a,b,c,d; 第二列也是a,b,c,d....以此类推。这种排序乍一看比较简单,但一时间又不知道怎么入手。当然,多遍历几次也是可以排序成功的,只是比较麻烦,逻辑比较复杂。个人建议的话,这种排序可以使用Map,...原创 2019-05-18 00:26:29 · 1541 阅读 · 0 评论
分享