算法 随想录 柠檬水 队列

C# 面试常见递归算法

前言 今天我们主要总结一下C#面试中常见递归算法。 C#递归算法计算阶乘的方法 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。 原理:亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递 ......
算法 常见

FreeRTOS--队列集

示例源码基于FreeRTOS V9.0.0 队列集 1. 概述 队列集的本质也是队列,只不过里面存放的是“队列句柄”。 当任务需要及时读取多个队列时,可以使用队列集。它类似于posix的多路复用思想。可以将想要监听消息的队列放入队列集中,当其中有队列有数据达到时,队列集的接口会返回可读的队列句柄,用 ......
队列 FreeRTOS

FreeRTOS--队列

示例源码基于FreeRTOS V9.0.0 队列 1. 概述 FreeRTOS的队列,支持任务与任务间的通信,以及任务与中断间的通信。它是FreeRTOS系统中主要的任务间通信方式。 队列内的消息,是通过拷贝方式传递,而非指针。 队列除了基本的先进先出特性,也支持往队列首部写入数据。 FreeRTO ......
队列 FreeRTOS

【算法 Java】递归,阶乘的递归实现,斐波那契数列的递归实现

递归 定义:方法直接或间接地调用方法本身 思路:将大问题转化为一个与原问题相似的规模更小的问题 注意:递归死循环会导致栈内存溢出 一些使用递归求解的问题 阶乘 Factorial.java import java.util.Scanner; public class Factorial { publ ......
阶乘 数列 算法 Java

二分图最大匹配模板(匈牙利算法)

二分图最大匹配模板(匈牙利算法) P3386 【模板】二分图最大匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) struct augment_path { vector<vector<int> > g; vector<int> pa; // 匹配 vector<int> pb ......
算法 模板

高斯混合模型:GMM和期望最大化算法的理论和代码实现

高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。 gmm可用于各种机器学习应用,包括聚类、密度估计和模式识别。 在本文中,将首先探讨混合模型,重点是高斯混合模型及其基本原理。然后将研究如何使用一种称为期望最大化( ......
算法 模型 理论 代码 GMM

51k+ Star!动画图解、一键运行的数据结构与算法教程!

hello-algo(《Hello 算法》) —— 动画图解、一键运行的数据结构与算法教程,支持 Java、C++、 Python、 Go、 JS、 TS、 C#、 Swift、 Rust、 Dart、 Zig 等语言。 ......
数据结构 算法 结构 动画 教程

acwing week2 基础算法3总结

acwing week2 基础算法3总结 总结点1:双指针算法 //常用模版框架 for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 ( ......
算法 基础 acwing week2 week

区间合并算法总结

区间合并使用贪心算法,对于区间问题,通常需要对左端点排序、右端点排序或者左端点和右端点双关键字排序。区间合并算法的算法步骤: 1. 按照区间左端点排序。 2. 扫描过程中,每次维护一个当前的区间。 题目链接: https://www.acwing.com/problem/content/805/ 代 ......
区间 算法

离散化算法总结

离散化是将大范围的数字映射到小范围的区间内,适用于稀疏的区间。 两个问题需要考虑: 1. 原数组中可能有重复元素,需要去重。 2. 如何算出离散化后的值(离散化后保序,使用二分)。 题目链接: https://www.acwing.com/problem/content/804/ 代码: #incl ......
算法

代码随想录算法训练营第三天 | 203.移除链表元素 707.设计链表 206.反转链表

LeetCode 203.移除链表元素 视频链接: LeetCode203 思路: 根据链表的性质,将目标值对应的节点保存在一个临时节点中,再重新设置cur下一个节点,再将临时节点进行删除 class Solution { public: ListNode* removeElements(ListN ......
随想录 训练营 随想 算法 元素

Tomasulo算法小结

总结 L.D F6, 24(R2) L.D F2, 12(R3) MUL.D F0, F2, F4 SUB.D F8, F6, F2 DIV.D F10, F0, F6 ADD.D F6, F8, F2 以以上的代码为例,当指令MUL.D即将确认时,保留站、load缓冲器以及寄存器状态表中的内容。 ......
小结 算法 Tomasulo

文心一言 VS 讯飞星火 VS chatgpt (147)-- 算法导论12.2 2题

二、用go语言,写出 TREE-MINIMUM 和 TREE-MAXIMUM 的递归版本。 灵捷3.5 。 文心一言: 以下是用 Go 语言编写的树的最大值和最小值的递归版本代码: package main import ( "fmt" ) type TreeNode struct { Val in ......
文心 导论 算法 chatgpt VS

数据结构与算法之单链表-----黑马程序员(26-35)

1.链表的概念 在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素储存上并不连续。 创建链表如图所示和相关代码 public class danlianbiao { private Node head=null;//头部第一个结点 private static class N ......
数据结构 黑马 程序员 算法 结构

RabbitMQ 接收队列的消息

代码示例: 注:要把这个类加上Component注解 package com.itheima.amqp_listener;import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframewo ......
队列 RabbitMQ 消息

代码随想录day4链表2

day4 24. 两两交换链表中的节点19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II 总结 资料来源:代码随想录 (programmercarl.com) 5.两两交换链表中的节点 class Solution { private: /* data */ pub ......
随想录 随想 代码 day4 day

RabbitMQ 发送消息到队列(交换机不参与的那种)

1. 导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.在 application.yml 文件里编 ......
队列 交换机 RabbitMQ 消息

6、常用算法和正则表达式

常用算法 double x=-92.42,y=25.98; double result1=qAbs(x); //取正数 qDebug() << "x="<<x<<";result="<<result1; double maxResult=qMax(result1,y); // 求2个数的最大数 qD ......
正则 表达式 算法 常用

代码随想训练营第五十二天(Python)| 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300.最长递增子序列 class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if len(nums) <= 1: return len(nums) # dp 数组代表以 nums[i] 结尾的最长递增子序列长度为 dp[i] ......
序列 训练营 数组 随想 代码

代码随想录day3链表1

链表理论基础203.移除链表元素707.设计链表206.反转链表 资料来源:代码随想录 (programmercarl.com) 1 链表理论基础 定义:是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null ......
随想录 随想 代码 day3 day

一个简单的队列实现

控制器代码 <?php namespace app\index\controller; use think\facade\Queue; class Job extends \app\BaseController { /** * @定时任务 * * @return void */ public fun ......
队列

一个算法笨蛋的11月leetCode刷题日记

时间 情况 2021年10月29日 时隔一年,第三次重做反转链表,又没做出来,太废了。 2021年11月1日 时隔两天,第四次重做反转链表,轻松写出 【21】合并两个有序链表(思路:想象两个有序链表,需要新建两个next指向头节点的空node,一个用于最后返回.next,一个用于接收最小的node) ......
算法 笨蛋 leetCode 日记

时间复杂度为 O(n^2) 的排序算法

对于小规模数据,我们可以选用时间复杂度为 O(n2) 的排序算法。因为时间复杂度并不代表实际代码的执行时间,它省去了低阶、系数和常数,仅代表的增长趋势,所以在小规模数据情况下, O(n2) 的排序算法可能会比 O(nlogn) 的排序算法执行效率高。不过随着数据规模增大, O(nlogn) 的排序算... ......
复杂度 算法 时间

Viola-Jones 人眼检测算法+meanshift跟踪算法

clc; clear all;close all;clf reset; %% %%%%%%%%%%%%%%%%%%%%%%%% 人眼检测部分开始 %%%%%%%%%%%%%%%%%%%%%% videoObj = VideoReader('eye.mp4');%读视频文件 nframes = get ......
算法 人眼 Viola-Jones meanshift Viola

位运算算法总结

如何求n的二进制表示中第k位是几? 1.先把第k位移到最后一位:n >> k 2.看个位是几:x & 1 综合得到:n >> k & 1返回的是n的二进制表示中第k位 题目链接: https://www.acwing.com/problem/content/803/ 题解: 用到lowbit(x) ......
算法

算法问题求解

算法问题求解通常包括以下几个步骤: 1.理解问题:首先要充分了解问题的背景、需求和具体内容,明确问题的目标。 2.设计算法:设计算法是计算机求解算法的核心部分。算法是解决问题的一种策略或方法。设计算法时,我们需要考虑问题的特性,并选择适当的数据结构和算法技术来设计算法。算法应该具有可行性、高效性和正 ......
算法 问题

单调队列

单调队列 在一些问题中,可以使用单调队列优化 讲解 单调队列: 队尾可以进队出队,对头可以出队(维护队列的单调性,往往会配合二分进一步降低时间复杂度) 队尾出队的条件是:队列不空且新元素更优,队中的旧元素队尾出队 每个元素必然从队尾进队一次 队头出队的条件:队头元素滑出了串口 队列中存储元素的下标, ......
队列

代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

LeetCode 977.有序数组的平方 视频连接: LeetCode 977 思路: 利用双指针,通过首指针和尾指针的平方值比较,大的那个装入新的vector数组中,然后再更新指针。 class Solution { public: vector<int> sortedSquares(vector ......
数组 随想录 训练营 矩阵 螺旋

快速 log2 取整算法 (O(1) 时间与空间复杂度)

先上核心代码(文末附针对多种整数类型的代码): inline int log_2(int x) { int rst = 0; if (x & 0xffff'0000U) rst += 16, x >>= 16; if (x & 0x0000'ff00U) rst += 8, x >>= 8; if ......
复杂度 时间与空间 算法 时间 log2

双指针算法总结

双指针算法分为两类:第一类指向一个序列(更多的情况),第二类指向两个序列。 基本的代码框架是: for (i = 0, j = 0; i < n; i++) { while (j < i && check(i, j)) j++; // 每道题目的具体逻辑 } 核心思想:运用单调性等性质,将O(n2) ......
指针 算法