算法9.25 25

[代码随想录]Day30-贪心算法part04

## 题目:[860. 柠檬水找零](https://leetcode.cn/problems/lemonade-change/) ### 思路: 收到钱三种情况: 1. 5刀:直接收起来就可以了,不需要找钱 2. 10刀:收到10刀,需要找5刀,如果没有5刀,就返回false,否则5刀-1 3. ......
随想录 随想 算法 代码 part

二维数组和算法

1、⼆维数组 1. 定义: int[][] scores = new int[][]{{80,90,100},{99,88,77},{66,100,88}}; 2. 简写:int[][] scores = {{80,90,100},{99,88,77},{66,100,88}}; 3. 定义⼆: i ......
数组 算法

数据结构与算法之美读书笔记

读书笔记链接 时间复杂度分析 只关注执行次数最多的一段代码 加法法则:总复杂度等于量级最大的那段代码的复杂度 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 最好、最坏、平均时间复杂度 数组 内存中一块连续的存储空间,有效使用 CPU 的缓存机制,可以很方便的定位元素 在 O(1) 的时间通 ......
数据结构 算法 结构 笔记 数据

二叉树的存储结构和操作算法

## 二叉树的存储结构和操作算法 #### 二叉树的存储结构 ![屏幕截图(299)](https://harper886.oss-cn-qingdao.aliyuncs.com/img/202304101913586.png) **1.顺序存储结构(完全二叉树/满二叉树)** **2.链式存储结构 ......
算法 结构

LRU算法

# 思路 LRU算法,访问/更新/插入都会将数据置于队尾(假设队头淘汰)。 看3种情况的变化: * 插入:简单置于队尾即可。 * 更新:删除原有节点,新增节点置于队尾。 * 访问:将原节点提至队尾。 除了插入只需要简单接到链表尾部以外,更新和访问都是可能操作链表中间的,所以自然地就需要引入Map来快 ......
算法 LRU

空间密度算法DBSCAN和K-means聚类算法有什么区别和联系

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)和K-means是两种常见的聚类算法,它们有一些区别和联系。 区别: 原理:K-means是基于距离的划分聚类算法,通过最小化数据点与聚类中心之间的平方误差来进行聚类 ......
算法 密度 K-means DBSCAN means

遗传算法解决航路规划问题(MATLAB)

# 遗传算法 > 文章部分图片和思路来自司守奎,孙兆亮《数学建模算法与应用》第二版 定义:遗传算法是一种基于自然选择原理和自然遗传机制的搜索(寻优)算法,模拟自然界中的声明进化机制,在人工系统中实现特定目标的优化。 本质其实就是群体搜索技术,根据适者生存的原则逐代进化,最终得到最优解或近似最优解。 ......
航路 算法 MATLAB 问题

[代码随想录]Day29-贪心算法part03

## 题目:[1005.K次取反后最大化的数组和](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/) ### 思路: 思路是: 1. 先把负数从小到大变成正数(即绝对值由大到小) 2. 如果还需要变化(k>0 ......
随想录 随想 算法 代码 part

深入探索OCR技术:前沿算法与工业级部署方案揭秘

# 深入探索OCR技术:前沿算法与工业级部署方案揭秘 ![](https://ai-studio-static-online.cdn.bcebos.com/72b2077605dd49b78f7f647d6821d10231f6bc52d7ed463da451a6a0bd1fc5ff) *注:以上图 ......
算法 方案 工业 技术 OCR

突破边界:文本检测算法的革新与应用前景

# 突破边界:文本检测算法的革新与应用前景 # 1.文本检测理论篇(文本检测方法介绍) 文本检测任务是找出图像或视频中的文字位置。不同于目标检测任务,`目标检测不仅要解决定位问题,还要解决目标分类问题`。 文本在图像中的表现形式可以视为一种‘目标‘,通用的目标检测的方法也适用于文本检测,从任务本身上 ......
边界 算法 前景 文本

【校招VIP】前端算法考察之排序

考点介绍: 不同的场景中,不同的排序算法执行效率不同。 稳定:冒泡、插入、归并 不稳定:选择、快速、堆排序、希尔排序 一、考点题目 1、使用js实现数组的快速排序 解答:快速排序使用了冒泡+分治的思路。 每轮从数组中取出一个数作为基准;在排序过程中,小于或等于基准数的全部放到基准的左边,大于基准的全 ......
前端 算法 VIP

【校招VIP】算法考点之堆排

考点介绍: 排序算法属于数据结构和算法的基础内容,并且也是大厂笔试中的高频考点。 堆排序是使用一棵树存储序列这个课树只保证跟节点是这棵树中的最小值,但并不保证其他节点是按顺序的。因此他的排序是每次从堆中取得堆顶,取得 n 次就得到了个数为 n 的有序序列。 一、考点试题 1.堆排序的原理 解答:1、 ......
考点 算法 VIP

【算法】用c#实现计算方法中的经典降幂优化策略,减少计算复杂度

对于给定的数组[x1,x2,x3,…,xn],计算幂的累积:x1^(x2^(x3^(…^xn))的最后一位(十进制)数字。 例如,对于数组[3,4,2],您的代码应该返回1,因为3^(4^2)=3^16=43046721。 结果的增长得快得令人难以置信。例如,9^(9^9)有超过3.69亿个数字。你 ......
降幂 复杂度 算法 策略 方法

二分算法

1. 将两个集合合并 2. 询问两个元素是否在一个集合当中 基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。每个节点储存它的父节点,p[x]表示x的父节点 判断树根(属于那个集合)`if (p[x] == x)` 求x的集合编号:`while(p[x] != x) x = p[x];` ......
算法

Bresenham画直线算法(待完成)

[TOC] Bresenham算法是图形学非常经典的光栅线生成算法,可用于显示直线、圆以及其他曲线。这里通过算法画直线过程,了解其工作原理。 # 问题描述 已知线段2端点$(x_0, y_0) (x_e, y_e)$,屏幕上画出该直线段。 由于屏幕是通过像素点显示的,只能通过像素点所在的整数坐标近似 ......
算法 直线 Bresenham

[算法学习笔记][刷题笔记] 单调队列优化 dp

### 前置知识 · 单调队列 单调队列顾名思义,一般用于解决 **滑动RMQ**问题。它的原理非常简单。我们维护一个双端队列,这个双端队列 **只维护可能成为区间最值**的元素。 最基础的单调队列,例如滑动窗口。直接依据题意维护即可。 这里提供单调队列模板(STL deque 版) 单调队列模板( ......
笔记 队列 算法 dp

关于欧几里得算法与裴蜀定理的证明

### 前言: 因为某次考试订正 T4,用到了 exCRT,然后发现我和 lws 不会 exgcd…… 所以来把 gcd 到 exgcd 重新学一下,就写了这篇 trick。 ### 欧几里得算法: 求证: $$ \gcd(a,b)=\begin{cases} \gcd(b,a\bmod b) & ......
定理 算法

剑指Offer 25. 合并两个排序的链表

**题目链接:** [剑指Offer 25. 合并两个排序的链表](https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/?envType=study-plan-v2&envId=coding-interview ......
两个 Offer 25

8.25 后记

## [T1](https://www.luogu.com.cn/problem/T372349) ![img](https://img2023.cnblogs.com/blog/3213829/202308/3213829-20230827160907969-1985028821.png) ## ......
后记 8.25 25

文心一言 VS 讯飞星火 VS chatgpt (82)-- 算法导论8.1 1题

# 一、如果用go语言,在一棵比较排序算法的决策树中,一个叶结点可能的最小深度是多少? ## 文心一言: 在一个排序决策树(如二叉搜索树)中,每个叶节点的最小深度等于输入数据中最大元素与最小元素之间的位距离。这是因为在最坏的情况下,每个比较都需要将最大元素向最小元素的路径移动,因此叶节点的最小深度就 ......
文心 导论 算法 chatgpt VS

[算法学习笔记][刷题笔记] 2023/8/26&8/27 解题报告状压 dp

[题单](https://www.luogu.com.cn/training/334619#information) ### 状压 dp 状压 dp是一种非常暴力的算法,它直接记录不同的状态,通过状态进行转移。 状压 dp可以解决 NP 类问题。它的原理是暴力枚举每一种可能的状态。所以它的复杂度是指 ......
笔记 算法 2023 amp 26

深度-高考后的分层之战和人生算法破圈(转渤海小吏)

谈高考之前先大概想明白一个根本的问题,社会的层级细分下来可以搞出十几20层,简化来看可以简要分为以下三层。第一,上层高护城河生产资料和权利的所有者。二,中层小型生产资料所有者和有产打工人。三基层也就是无产者,然后我们根据上面三个阶层来看一下每个层级的最优解和想法是啥?先来看上层建筑,既得利益者是希望 ......
小吏 算法 深度 人生

[代码随想录]Day28-贪心算法part02

## 题目:[122. 买卖股票的最佳时机 II](https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/) ### 思路: 假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0]。 相当于 ......
随想录 随想 算法 代码 part

相识第25天——文文与可可

今早去找妹妹,妹妹穿了很亮眼(白色系)的衣服,还收到了眼睛按摩仪 和妹妹吃了火锅,番茄和麻辣,妹妹不爱吃香菜,葱,鸭血,麻辣锅接受度不是很高 后来去唱了两个小时KTV,值得庆祝的是:妹妹开始张口一起唱歌了,妹妹的声音很好听(虽然降了八度哈哈) 在之后就是一段甜蜜的时光了 一起在大落地窗前看着万家灯火 ......
可可

面对算法竞赛OI的Linux下vim简易配置

这段配置基本通用 但是需要vim支持clipboard才能复制到系统剪切板 下面是配置正文 .vimrc ``` let mapleader = "\" vnoremap y "+y inoremap jk nnoremap e :w:!g++ % -o % nnoremap e :w:!g++ % ......
算法 简易 Linux vim

【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

### 二叉树的直径 给你一棵二叉树的根节点,返回该树的 **直径** 。 二叉树的 **直径** 是指树中任意两个节点之间最长路径的 **长度** 。这条路径可能经过也可能不经过根节点 `root` 。 两节点之间路径的 **长度** 由它们之间边数表示。 **示例 1:** ``` 输入:roo ......
树形 直径 算法 LeetCode 内容

最短路三种算法详解

# 最短路 最短路问题即,给你一张图,让你求出图中两点的最短距离。 这篇文章会讲解 $Dijkstra$、$Spfa$、$Floyd$ 三种算法,让您透彻理解最短路! ## Dijkstra ### 朴素版 题目: ![image](https://img2023.cnblogs.com/blog/ ......
算法

zlmediakit源码学习(扩展支持算法分析)

在zlmediakit源码基础上继续探索扩展支持算法分析功能。参照上一篇帖子:https://www.cnblogs.com/feixiang-energy/p/17623567.html 算法模型使用opencv自带的人脸检测库:https://github.com/opencv/opencv/b ......
算法 zlmediakit 源码

垃圾收集器ParNew&CMS与底层三色标记算法详解

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复 ......
色标 底层 算法 垃圾 ParNew

社团算法学习笔记

社团算法学习笔记:https://gaowenxin95.github.io/le_graph/%E7%A4%BE%E5%9B%A2%E7%A4%BE%E5%8C%BA%E5%8F%91%E7%8E%B0%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8 ......
算法 社团 笔记