算法
star_pluss
这个作者很懒,什么都没留下…
展开
-
自定义实现布隆过滤器
什么是布隆过滤器?以下摘自百度百科布隆过滤器(BloomFilter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。以下为借鉴其他资料实现布隆过滤器代码package com.zmx.common.common.utils.bitmap;import java.util.BitSet;import java.util.conc原创 2021-12-02 16:10:49 · 646 阅读 · 0 评论 -
BitMap过滤整数
简易版对整数进行过滤、判断是否已存在代码如下:package com.zmx.common.common.utils.bitmap;import lombok.extern.slf4j.Slf4j;/** * @Description: 简易版对整数进行过滤、判断是否已存在 * @ClassName: SimpleBitMapUtil * @Author zhaomxr * @Date 2021-12-02 10:30 */@Slf4jpublic class SimpleBitM原创 2021-12-02 16:05:45 · 578 阅读 · 0 评论 -
无重复字符的最长子串
无重复字符的最长子串package com.example.demo.study.shuanfa;import lombok.extern.slf4j.Slf4j;import java.util.HashSet;/** * @Description: 无重复字符的最长子串 * @ClassName: LongestSubstringWithoutRepeatingCharacters * @Author zhaomx * @Version 1.0 * @Date 2021-06-2原创 2021-06-29 15:24:09 · 67 阅读 · 0 评论 -
两数相加问题
两数相加问题package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.Data;import lombok.extern.slf4j.Slf4j;/** * @Description: 两数相加 * @ClassName: AddTwoNUmbers * @Author zhaomx * @Version 1.0 * @Date 2021-06-29 11:05 */原创 2021-06-29 11:41:10 · 151 阅读 · 0 评论 -
两数之和问题
两数之和问题例如:输入:int[] nums = {9, 7, 11, 2}; int number = 9;输出:[1,3]解释:因为 nums[1] + nums[3] == 9 ,返回 [1, 3] 。package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import java.util.HashMap;/** * @De原创 2021-06-29 10:45:38 · 74 阅读 · 0 评论 -
反转链表算法
反转链表package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.Data;import lombok.extern.slf4j.Slf4j;/** * @Description: 反转链表 * @ClassName: ReverseLinkedList * @Author zhaomx * @Version 1.0 * @Date 2021-06-29 09:02 *原创 2021-06-29 09:28:53 · 76 阅读 · 0 评论 -
最大公共子串问题
给定两个字符串,计算出最大公共子串问题String source = “abcdef1234”;String target = “123abcdef”;公共子串为:abcdef,1.那么第一种方案双层遍历两个字符串,找到第一个相同的值2.记录两个字符串此时下标i和j,同时递增1向后遍历直到两个值不相等,此时数组下标为此次最大子串索引位置maxLengthIndex=i,maxLength++3.一直循环步骤2,得出最大公共子串下标maxLengthIndex,最大长度maxLength代码如下原创 2021-05-31 17:38:22 · 544 阅读 · 0 评论 -
使用数组模拟队列-编写一个ArrayQueue类
使用数组模拟队列-编写一个ArrayQueue类package com.zhaomx.demo.algorithm.queue;/** * @author 赵明兴 * @version 1.0 * @description 使用数组模拟队列-编写一个ArrayQueue类 * @create 2021-03-17 20:44 **/public class ArrayQueueDemo { public static void main(String[] args) {原创 2021-03-17 21:48:44 · 120 阅读 · 0 评论 -
二维数组与稀疏数组相互转换
这里写自定义目录标题二维数组与稀疏数组相互转换二维数组与稀疏数组相互转换二维数组转稀疏数组的思路:1.遍历原有数组,得到有效数据的个数sum2.根据sum就可以创建稀疏数组sparseArr int[sum+1][3]3.将二维数组的有效数据存入稀疏数组稀疏数组转回二位数组的思路:1.先读取稀疏数组的第一行,根据第一行的数据创建二维数组,比如上面的charseArr = int[11][11]2.在读取稀疏数组的后几行的数据,并赋值给二维数组即可java代码:package com.原创 2021-03-16 22:22:05 · 239 阅读 · 0 评论