洪水 算法

算法戴高乐-02篇-滑窗

滑动窗口模板 注意:这里区间用的是左闭右开:[left, right) void slidingWindow(String s) { // 1、选合适的数据结构,记录窗口数据 HashMap<Character, Integer> window = new HashMap<>(); int left ......
算法 02

也许是 OCD 犯毛病了,第一次给 HR 写信把算法题目重新实现了一次

在发这个邮件之前还是有点忐忑。 毕竟是第一次这样在当时没有做完的算法题目,后面还把修改后的内容发给了 HR 一次。 甚至我还把我的算法画了一个实现。 以前 以前面试的时候都是做题,等结果,通常来说,如果当天没有结果,第二天也没有电话的话,大概率就是没戏了,接着找吧。 不知道为什么这次有点感觉不一样, ......
算法 毛病 题目 第一次 OCD

算法训练day20 LeetCode654

算法训练day20 LeetCode654.617.700.98 654.最大二叉树 题目 654. 最大二叉树 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 使用递归 返回节点地址,输入父节点地址,数组 终止条件是输入地数组为空 单层操作: 如果输入数组 ......
算法 LeetCode day 654 20

Java对称加解密算法AES

Java对称加解密算法AES import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.L ......
算法 Java AES

基于图像形态学处理的目标几何形状检测算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 目标几何形状检测是计算机视觉领域中的重要任务之一,旨在从图像中自动识别和定位不同的几何形状,例如矩形、圆形、三角形等。这些形状检测在许多领域中都具有广泛的应用,如工业自动化、物体识别、医学图像分析等。其中,基于图 ......
形态学 几何 算法 形状 形态

算法打卡|Day5 哈希表part01

哈希表 part01 今日任务 ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和 目录哈希表 part01链表理论基础Problem: 242. 有效的字母异位词思路解题方法CodeProblem: 349. 两个数组的交集思路 ......
算法 Day5 part Day 01

关于Pohlig-Hellmen算法喵

\(g^x\equiv a(mod\;p )\) 拆分\(p-1=\prod_{i=1}p_i^{ki}\) 对于每一个\(p_i\)进行处理 将\(x\)转化为\(p\)进制数 \(x=c_0+c_1p_i+c_2p_i^2+...+c_{k_i-1}p_i^{k_i-1}\) \(g^{x( \ ......
Pohlig-Hellmen 算法 Hellmen Pohlig

【算法】莫队

一、概念 莫队是一种应用于离线询问的优美暴力算法。它是主要思想是让区间的左端点和右端点移动的距离加起来最短。 二、实现 假设现在有这样一串序列:\(1,1,4,5,1,4\),我们现在要求询问区间内的 \(1\) 的出现次数。 如果我们现在已经统计到了区间 \((2,3)\),现在询问 \((1,5 ......
算法

国标GB28181安防视频平台EasyGBS视频分析算法的原理简介

国标GB28181是中国国家标准,旨在规范安防视频监控系统的设计、安装、运行和维护。其中,EasyGBS视频分析算法是一种基于图像处理和模式识别技术的视频分析方法。它通过提取视频帧中的特定特征,并利用机器学习算法对特征进行分析和比对,从而实现对视频内容的智能分析和识别。 EasyGBS视频分析算法的 ......
视频 国标 算法 原理 EasyGBS

[剑指offer] 其他算法[下]篇

JZ58 左旋转字符串 /* 模拟 */ public class JZ58_1 { public static String LeftRotateString(String str, int n) { if (str.length() == 0) return ""; n %= str.lengt ......
算法 offer

[剑指offer] 其他算法[上]篇

JZ66 构建乘积数组 /* 暴力 */ public class JZ66_1 { public static int[] multiply(int[] A) { int[] res = new int[A.length]; Arrays.fill(res, 1); for (int i = 0; ......
算法 offer

文心一言 VS 讯飞星火 VS chatgpt (100)-- 算法导论9.3 6题

六、用go语言,对一个包含n个元素的集合来说,k分位数是指能把有序集合分成k个等大小集合的第k-1个顺序统计量。给出一个能找出某一集合的k分位数的 O(nlgk)时间的算法。 文心一言: 要找到一个集合的k分位数,可以使用Go语言编写以下算法: package main import ( "fmt" ......
文心 导论 算法 chatgpt VS

快速排序/选择算法

🧐 题目 给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。 输出格式 输出共一行,包含 n 个整数,表 ......
算法

基础双指针算法:单队列、双队列

1、单队列 输入一串字符串,字符串有多个由单个逗号隔开的单词,任务是需要把单词间隔开,每个单词换行输出。 输入样例abc def ghi 输出样例abc def ghi #include <iostream> using namespace std; const int N = 1010; int ......
队列 指针 算法 基础

9.25算法

#include <bits/stdc++.h> using namespace std; struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x ......
算法 9.25 25

轻松掌握冒泡排序算法,值得收藏

冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是多次遍历待排序的数组,每次比较相邻的两个元素,如果它们的顺序不正确就交换它们,直到整个数组有序为止。 冒泡排序的基本步骤如下: 从数组的第一个元素开始,比较相邻的两个元素,如果它们的顺序不正确就交换它们。 重复步骤1,直到遍历完整个 ......
算法

本地测试Spark的逻辑回归算法

本地小数据量测试了一下Spark的LogisticRegressionWithSGD算法,效果不尽如人意。 数据样例如下,竖杠前的0,1代表两种类型,后面逗号隔开的是两个特征,两个特征只要有一个大于等于0.6就会被分为1这一类,否则就是0。 1|0.3,0.6 0|0.2,0.1 1|0.5,0.6 ......
算法 逻辑 Spark

kmp算法详解

引入 kmp算法要解决的就是用on的时间复杂度模式串p在文本串T中的匹配问题 过程 字符串下标从1开始 对于文本串T(上)和模式串p(下)T.size()=n , p.size()=m 设T[i]和p[j]为正在接受比对的一对字符 如果j<m-1&&T[i+1]==p[j+1],那么i++,j++。 ......
算法 kmp

【算法】归并排序算法

归并排序 归并排序的思想 归并排序运用了典型的分治策略,是一种稳定的排序算法,其时间复杂度为 \(O(nlogn)\) ,空间复杂度为 \(O(n)\)。 分治的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。分治策 ......
算法

【算法】循环不变式

循环不变式 一、数学归纳法 因为循环不变式的定义与数学归纳法类似,所以我们先来看看数学归纳法。 我们首先从高中开始回忆起,有关于数列的数学归纳法。 一般的,证明一个与正整数 \(n\) 有关的命题,可以分为以下两个步骤[1]: 1. 归纳奠基:证明当 \(n=n_0 (n_0 \in N^*)\) ......
算法

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据

原文链接:http://tecdat.cn/?p=19889 原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。 如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCM ......

基于方向编码的模板匹配算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.算法理论概述 模板匹配是一种常见的计算机视觉方法,用于在一幅图像中寻找指定的模板。它在目标检测、图像识别、物体跟踪等领域中有广泛的应用。基于方向编码的模板匹配算法是一种改进的模板匹配方法,它通过将图像转化为方向编码的形式,实现 ......
算法 编码 方向 模板 matlab

最近公共祖先 Tarjan算法

P3379 【模板】最近公共祖先(LCA) 利用并查集 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 5e5 + 10; vector<int> g[N]; vector<pair<int,int>> query[ ......
祖先 算法 Tarjan

实现一致性哈希算法

背景 一致性哈希主要用于分布式系统解决数据存储与访问的负载问题,极大的提高了可用性与扩展性。分布式系统往往是把数据分布到不同的节点,这些节点可以动态的加入或离开集群,这样就需要考虑一些问题,如果按照传统的hash算法进行数据分布,动态扩缩节点就需要对数据进行rehash,数据量大或请求数多的时候,对 ......
一致性 算法

一致性哈希算法实现(java)

代码基本实现 未完待续........... public static void main(String[] args) { ​ TreeMap<Integer,String> hashNodes = new TreeMap<>(); hashNodes.put(1,"1.1.1.1"); has ......
一致性 算法 java

最近公共祖先 倍增算法

P3379 【模板】最近公共祖先(LCA) 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 5e5 + 10; vector<int> g[N]; int dep[N], fa[N][22]; void dfs(in ......
祖先 算法

算法打卡|Day4 链表part02

Day4 链表part02 今日任务 ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II [TOC] Problem: 24. 两两交换链表中的节点 思路 1.迭代法就要注意画图!画图!还是画图!另外迭代的次序不要忘记, ......
算法 Day4 part Day 02

文心一言 VS 讯飞星火 VS chatgpt (99)-- 算法导论9.3 5题

五、用go语言,假设你已经有了一个最坏情况下是线性时间的用于求解中位数的“黑箱”子程序。设计一个能在线性时间内解决任意顺序统计量的选择问题算法。 文心一言: 为了在线性时间内解决任意顺序统计量的选择问题,我们可以使用一个基于快速选择算法的方法。快速选择算法是基于快速排序的思想,可以在平均情况下以线性 ......
文心 导论 算法 chatgpt VS

算法刷题:图论(9.23,持续更)

目录基础知识有向图顶点类邻接表邻接矩阵入度、出度有向加权图无向图(双向图)图的遍历题目DAG所有可能的路径判断二分图dfs解法bfs解法 基础知识 点:顶点、邻接节点 边:有向边、无向边、加权边 度:入度、出度、无向边的度 环:环、自环(glist[i]中有i) 连通性:连通图、不连通 有向图 顶点 ......
算法 9.23 23

9.24算法

反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2: 输入:head = [1,2]输出:[2,1]示例 3: 输入:head = []输出:[] 提示: 链表中节点的数目范围是 [0 ......
算法 9.24 24