算法 随想录 柠檬水 队列

代码随想录 day 24 77. 组合

77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 class Solution { public List<List<Integer>> combine(int n, int k) { List<List<Integer> ......
随想录 随想 代码 day 24

NAND Flash 寿命算法——Wear leveling

由于闪存的可擦写次数是有限的,当某些数据被频繁修改时容易导致对应的块很快被耗尽使用寿命,从而导致整块盘无法使用,所以需要有一种技术来将这些块的擦写均摊一下,延长使用寿命。 首先看几个相关的基本概念: 因为闪存不能覆盖写,如果要修改已有的数据需要将原有的数据擦除再写入新的数据。 被频繁修改的数据很烫, ......
算法 寿命 leveling Flash NAND

算法笔记的笔记——第9章 树

概念 定义 树枝分叉处、树叶、树根抽象为结点(node) 树根抽象为根结点(root),一棵树最多存在一个根结点 树叶抽象为叶子节点(leaf),不再延伸出新的结点 茎干和树枝抽象为边(edge),一条边只用来连接两个结点 树中的结点不能被边连成环 子结点(child)、子树(subtree) 性质 ......
笔记 算法

算法笔记的笔记——第7章 栈、队列和链表

栈 后进先出 栈顶指针始终指向最上方元素 栈为空时栈顶指针为-1 常用操作 清空(clear):TOP = -1 获取栈内元素个数(size):size = TOP + 1 判空(empty):TOP == -1 进栈(push):st[++TOP] = x 出栈(pop):TOP-- 取栈顶(to ......
笔记 队列 算法

算法笔记的笔记——第8章 搜索专题

深度优先搜索(DFS) 枚举所有完整路径以遍历所有情况 栈 实现 使用递归可以实现深度优先搜索 可以通过条件限制节省DFS计算量,方法称作剪枝 广度优先搜索(BFS) 优先访问能直接到达的所有结点 队列 实现 void BFS(int s) { queue<int> q; q.push(s); wh ......
笔记 算法 专题

「双端队列BFS」电路维修

本题为3月23日23上半学期集训每日一题中B题的题解 题面 题目描述 Ha'nyu是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女Rika,从而被收留在地球上。Rika的家里有一辆飞行车。有一天飞行车的电路板突然出现了故障,导致无法启动。 电路板的整体结构是一个R行C列的网格( $ ......
队列 电路 BFS

代码随想录算法训练营Day51 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day51 动态规划| 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳买卖股票时机含冷冻期 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算 ......
随想录 训练营 随想 算法 代码

bzoj 2006 [NOI2010] 超级钢琴 线段树求区间极值+优先队列

挺神奇的一道题,唯一想不通的是为什么放在主席树的题单里.. 首先暴力找出所有的合法区间显然是不可能的。 考虑怎么贪心,假如固定每个L作为左端点,那么合法的区间就是[L+l-1,L+r-1](当然还要跟n取个min) 对于每个L,用线段树求出合法区间内最大的值,以及取得最大值时所对应的点,设为idx ......
极值 线段 队列 区间 钢琴

哈希算法与一致性哈希算法

哈希算法:取哈希后模节点的数目 假设有一个由A、B、C三个节点组成的KV服务,每个节点存放不同的KV数据。通过哈希算法,每个key都可以寻址到对应的服务器,比如,查询key是key-01,计算公式为hash(key-01)%3,经过计算寻址到了编号为1的服务器节点A 但如果服务器数量发生变化,基于新 ......
算法 一致性

【ACM算法竞赛日常训练】DAY2题解与分析【比赛】【数学考试】【简单瞎搞题】

DAY2共三题: 比赛(概率) 数学考试(前缀和与思维) 简单瞎搞题(dp) 视频讲解:https://www.bilibili.com/video/BV1hP411o7RD/ 🎈 作者:Eriktse 🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️ ......
题解 算法 数学 DAY2 ACM

MLIR矩阵乘算法,新建Dialect,lowering

MLIR矩阵乘算法,新建Dialect,lowering MLIR:新建一个Dialect,lowering Multi-Level Intermediate Representation(MLIR)是创建可重用、可扩展编译器基础设施的新途径。 MLIR 项目的核心是 Dialect,MLIR 自身 ......
矩阵 算法 lowering Dialect MLIR

LeetCode 169. 多数元素(/hash sort 随机化 分治 Boyer-Moore 投票算法)

原题解 ###题目 约束 ###题解 ####方法一:哈希表 class Solution { public: int majorityElement(vector<int>& nums) { unordered_map<int, int> counts; int majority = 0, cnt ......
算法 Boyer-Moore LeetCode 元素 Boyer

基础算法(2)

高精度加法 (常规只能到10^6次方) 思想:1、大整数存储:每一位存入数组,个位存在前,高位存在后(和常规表示是反的); 2、模拟手算加法的步骤,进位 #include <iostream> #include <vector> using namespace std; const int n = ......
算法 基础

算法总结--线段树

声明(~~叠甲~~):鄙人水平有限,本文为作者的学习总结,仅供参考。 ##1.线段树介绍 线段树说是算法,更应该算是一种二叉树数据结构的使用。 其每个树的节点表示一个区间,其孩子节点表示该区间二分下来的两个节点,其值可以表示这个区间数据的某种运算,如最值、求和等,以下以数组 [1,2,3,4] 为栗 ......
线段 算法

SoC设计项目 —— AHB SRAM控制器的设计 & March C-算法内建自测试的实现

绪论 本项目用Verilog HDL语言设计了AHB总线上的SRAM控制器接口IP,SRAM存储器在AHB总线上作为AHB slave存在,该SRAM控制器具有以下特性: 支持单周期的SRAM读写操作 支持低功耗工作 SRAM存储体由两个Bank组成,系统根据地址选中一块/多块Bank,未被选中的B ......
控制器 算法 项目 March SRAM

队列及阻塞队列基础

队列:先进先出的数据结构(FIFO) java中的队列接口在java.util包下 常见的对列实现类有LinkedList 常见的阻塞队列:LinkedBlockingDeque,可以设置固定的容量,当队列有数据的时候会通知消费者消费,当对应满的时候会让生产者等待。 用LinkedBlockingD ......
队列 基础

使用 Python 探索 感知机 算法

动动发财的小手,点个赞吧! 从理论到实践,我们将从简要的理论介绍开始研究感知机(器)学习方法,然后实现。 在这篇博文的最后,您将能够了解何时以及如何使用这种机器学习算法,清楚地了解它的所有优缺点。 1. 理论 1.1. 引言 感知器有其存在的生物学原因。我们的神经元不断从其他神经元接收能量,但只有在 ......
算法 Python

232. 用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boo ......
队列 232

A* 算法及 Hybrid A* 算法

A* 算法 使用场景 A* 算法一般适用于一个质点在一个离散化的栅格地图上从一个起始点到另一个终点的最短寻路情况,其中每个栅格都只能是空域或者是障碍物,质点只能在每个确定的栅格中。由于 A* 算法的主体是一个质点,因此不适用于需要考虑动力学的机器人(例如汽车,拥有碰撞体积、连续的坐标以及朝向等) 未 ......
算法 Hybrid

优先队列

什么是优先队列: 优先队列就好比会员制的队列,有优先级这一特殊属性,根据优先级的高低来确定出队顺序 优先队列也是一种抽象数据类型。优先队列中的每个元素都有优先级,而优先级高(或者低)的将会先出队,而优先级相同的则按照其在优先队列中的顺序依次出队。 也就是说优先队列,通常会有下面的操作: 这样的话,我 ......
队列

Redis消息队列的使用与详解

一、Redis基本介绍 Redis消息队列是基于Redis的Pub/Sub(发布/订阅)功能实现的一种轻量级消息队列。Redis消息队列主要用于解耦生产者和消费者,将生产者产生的数据异步地发送给消费者,从而提高系统的并发能力和处理效率。在分布式系统中,Redis消息队列也可以用于实现分布式事务、分布 ......
队列 消息 Redis

乱七八糟的算法复习

笛卡尔树 一棵二叉树,结构上满足左子树的下标小于自己和右子树,右子树的下标大于自己和左子树。且键值满足堆的限制。 栈构建。维护当前根节点向右一直跳的右链,那么按数组下标顺序插入,每次插入,从栈顶一个个考虑,如果当前的节点的键值不配当他的父亲,那么就弹栈并继续,如果栈空或者找到一个可以当他的父亲的节点 ......
算法 乱七八糟

05. 队列

一、什么是队列 队列(Queue)是具有一定约束的线性表,它只能在 一端插入(入队,AddQ)而在 另一端删除(出队,DeleteQ)。它具有 先进先出(FIFO)的特性。 队列的抽象类型描述: 类型名称:队列(Quene) 数据对象集:一个有 0 个或多个元素的有穷线性表 操作集:长度为 MaxS ......
队列 05

代码随想录Day7-Leetcode454. 四数相加 II,383. 赎金信 ,15. 三数之和 ,18. 四数之和

### 454. 四数相加 II 这个第一时间没想出来怎么做的; 后面看了题解才发现可以两两分组;绝了 /** * @param {number[]} nums1 * @param {number[]} nums2 * @param {number[]} nums3 * @param {number ......

枚举算法

? 枚举算法就是:一堆数字里,从头开始循环,通过条件匹配正确的值 use for(let i=0; i<200; i++){ if(i%3 2 && i%4 1 && i%5 3){ console.log(i) } } notice 循环范围 筛选条件 打印结果 ......
算法

【ACM算法竞赛日常训练】DAY1题解与分析

DAY1 共四题: 月月查华华的手机:https://ac.nowcoder.com/acm/problem/23053 Rinne Loves Edges:https://ac.nowcoder.com/acm/problem/22598 逆序对:https://ac.nowcoder.com/a ......
题解 算法 DAY1 ACM DAY

算法 | 迷宫求解

问题描述 参考上图所示迷宫,编写算法求一条从入口到出口的有效路径。 途中阴影方块代表墙(不可行走),白色方块代表通道(支持行走)。 所求路径必须是简单路径,即所求得的路径上不能重复出现同一通道块。 算法分析 初步分析 通常采用穷举法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原 ......
迷宫 算法

HJ24_合唱队_动态规划_打印最少剔除人数_输出任意一列最长队列身高

以下为知识点:1、index倒序切片:temp=range(10)temp[:ind:-1]2、输出121队形的计算方法和实现步骤3、bisect模块的使用。(二分法) 1 #计算方法为,计算出以每个元素为最高点的最长121队列,再比较队列长度 2 #实现步骤: 3 #分别计算从左往右和从右往左的递 ......
合唱队 队列 身高 人数 动态

队列

逻辑结构 先进先出(First In First Out,FIFO)的线性表。只允许在线性表的一端插入,另一端删除。是一种受限线性表。 物理结构 顺序存储结构 顺序队列 分配一块地址连续的空间,并附设两个指针,front指向队头,rear指向队尾+1。 操作复杂度 入队 、出队均为_O(1)_。 循 ......
队列

10 种聚类算法的完整 Python 操作示例

一.聚类 聚类分析,即聚类,是一项无监督的机器学习任务。它包括自动发现数据中的自然分组。与监督学习(类似预测建模)不同,聚类算法只解释输入数据,并在特征空间中找到自然组或群集。 群集通常是特征空间中的密度区域,其中来自域的示例(观测或数据行)比其他群集更接近群集。群集可以具有作为样本或点特征空间的中 ......
示例 算法 Python 10