算法 随想录 柠檬水 队列

02_由两个栈组成的队列

由两个栈组成的队列 【题目】 编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。 【解答】 栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。 具体实现时是一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush ......
队列 两个 02

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

七、用go语言,设计一个 O(n)时间的算法,对于一个给定的包含n个互异元素的集合 S 和一个正整数k≤n,该算法能够确定 S 中最接近中位数的k个元素。 文心一言: 要设计一个 O(n) 时间的算法来找到集合 S 中最接近中位数的 k 个元素,我们可以使用快速选择算法(QuickSelect)。该 ......
文心 导论 算法 chatgpt VS

本地测试Spark的svm算法

上一篇介绍了逻辑回归算法,发现分类效果不好,通过这次的svm发现是因为训练数据不行,于是网上找了部分训练数据,发现实际上分类效果还可以。 训练数据,第一个值是标签,下面的数据是某种花的相关特征。 1|5.1,3.5,1.4,0.2 1|4.9,3,1.4,0.2 1|4.7,3.2,1.3,0.2 ......
算法 Spark svm

Bullwinkle算法原理

图片每个像素的置信度图,将其在非目标端元即背景端元位置设为Nan,设置background的背景mask,目标端元位置为ture,获取每个正包的最大置信度,排序。 循环(正包置信度从大往小读) pd=i/总正包数 far=背景置信度大于此置信度/背景像素 ......
算法 Bullwinkle 原理

9.26算法

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) :  ......
算法 9.26 26

随想录Day7|454. 四数相加Ⅱ、383. 赎金信、15. 三数之和、18. 四数之和

随想录Day7|454. 四数相加Ⅱ、383. 赎金信、15. 三数之和、18. 四数之和 454. 四数相加Ⅱ 文章&视频讲解 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, ......
之和 随想录 随想 Day7 Day

【算法】栈与队列

1 栈与队列理论基础 队列先进先出,栈先进后出;不允许有遍历行为,不提供迭代器 2 用栈实现队列 题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列 ......
队列 算法

消息队列的四种场景

01 概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。 实现高性能,高可用,可伸缩和最终一致性架构。 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。 02 消息队列应用场景 以下介绍消息队列 ......
队列 场景 消息

算法戴高乐-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

随想录Day5|242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

随想录Day5|242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和 242. 有效的字母异位词 文章&视频讲解 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互 ......
随想录 之和 数组 交集 随想

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

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

算法打卡|Day5 哈希表part01

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

队列环形数组实现两种实现

1 import java.util.Iterator;//环形队列,数组容量应该比实际需要大一public class Main { public static void main(String[] args) { ArrayQueue<Integer> a=new ArrayQueue<>(10 ......
环形 队列 数组

关于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

什么是消息队列

今天,我们一起来看看,消息队列是个啥? 消息队列是否了解? 消息队列初步来看,是由“消息”和“队列”组成,英文叫做:Message Queue,一般这些玩意都会根据英文名称来个简称,而简称一般就是英文名字的首字母缩写,所以消息队列即MQ。 可能你对消息队列有点陌生,但是你一定听过消息队列四个字,而且 ......
队列 消息

[剑指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

探索抽象同步队列 AQS

AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。大多数开发者可能永远不会直接使用AQS,但是知道其原理对于架构设计还是很有帮助的。 ......
队列 AQS

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