总和 算法 随想录 回文

代码随想录 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) 性质 ......
笔记 算法

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

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

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

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

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

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

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

哈希算法:取哈希后模节点的数目 假设有一个由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

使用 Python 探索 感知机 算法

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

A* 算法及 Hybrid A* 算法

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

乱七八糟的算法复习

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

代码随想录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

算法 | 迷宫求解

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

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

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

华为OD机试 RSA 加密算法

📝 本期题目:RSA 加密算法 🎯 题目 RSA 加密算法在网络安全世界中无处不在, 它利用了极大整数因数分解的困难度,数据越大安全系数越高。 给定了一个 32 位正整数,请对其进行因数分解, 找出哪两个素数的乘积。 📥 输入 一个正整数 num,满足 0 < num <= 214748364 ......
算法 RSA

代码随想录Day5-Leetcode242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和

242.有效的字母异位词 准备面试隔了三天没刷题, 结果面试里就考到哈希表了,也是蛮感叹的. 简单题, 不过api又忘的差不多了 这道可以用数组手动实现一个简易哈希表, 但(因为面试里这么干我最后写不出来了)为了适配unicode还是用map更妥当 /** * @param {string} s * ......
随想录 之和 数组 交集 Day5-Leetcode

EKP nysh RSA 加密算法

一.RSACoder package com.landray.kmss.cmb.oasso.util; import java.net.URLDecoder; import java.security.Key; import java.security.KeyFactory; import java ......
算法 nysh EKP RSA

机器学习算法(二): 基于鸢尾花数据集的朴素贝叶斯(Naive Bayes)预测分类

优点: 朴素贝叶斯算法主要基于经典的贝叶斯公式进行推倒,具有很好的数学原理。而且在数据量很小的时候表现良好,数据量很大的时候也可以进行增量计算。由于朴素贝叶斯使用先验概率估计后验概率具有很好的模型的可解释性。 缺点: 朴素贝叶斯模型与其他分类方法相比具有最小的理论误差率。但是实际上并非总是如此,这... ......
鸢尾花 鸢尾 算法 机器 数据

机器学习算法(三):基于horse-colic数据的KNN近邻(k-nearest neighbors)预测分类

机器学习算法(三):基于horse-colic数据的KNN近邻(k-nearest neighbors)预测分类 项目链接参考:https://www.heywhale.com/home/column/64141d6b1c8c8b518ba97dcc 1 KNN的介绍和应用 1.1 KNN的介绍 k ......

代码随想录 669. 修剪二叉搜索树 | 108.将有序数组转换为二叉搜索树 | 538.把二叉搜索树转换为累加树

669 修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 修剪的操作并不是在终止条件上进行的,所以就是遇到空节点返回就可以了。 如果r ......
随想录 数组 随想 代码 669

数据算法_组合优化_匈牙利算法

###组合优化问题 (Combinatorial optimization problem,COP) 是一类在离散状态下求极值的最优化问题 二分图(Bipartite graph) 匹配是由一组没有公共端点的边构成的集合。 U与V之间的关联视为前一帧与当前帧的同一id目标的检测框的关联 数据关联是多 ......
算法 数据

学习数据mining算法收集(1)聚类算法:DBSCAN算法

——————————非原创,来自知乎https://zhuanlan.zhihu.com/p/77043965———————————————————————————— 1.定义 DBSCAN将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚 ......
算法 数据 mining DBSCAN

算法笔记的笔记——第6章 C++标准模板库(STL)

vector 变长数组 长度根据需要而自动改变的数组 可以用来以邻接表的方式储存图 使用 头文件:#include <vector> 命名空间:using namespace std; 定义 vector<typename> name; 相当于一维数组name[SIZE],但长度可变。typenam ......
笔记 算法 模板 标准 STL