算法 常用
[代码随想录]Day23-回溯算法part03
## 题目:[39. 组合总和](https://leetcode.cn/problems/combination-sum/description/ "39. 组合总和") ### 思路: 一样的递归套路: 1. 函数参数:因为要求和,所以有一个当前和的参数;另外因为**要保证没有重复的结果**,所 ......
代码随想录算法训练营第二十天| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
654.最大二叉树 卡哥建议:又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 题目链接/文章讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%B ......
排序算法
1. 常用排序 1.1 归并排序 1.2 快速排序 快速排序优化 1.3 堆排序 2. 低级排序 2.1 冒泡排序 2.2 直接插入排序 2.3 希尔排序 3. 基于比较的排序算法时间复杂度下限证明 4. 排序算法会出现不稳定的状态原因 5. 非比较排序 5.1 计数排序 5.2 桶排序 5.3 基 ......
扁扁笨算法-AVL树的插入与删除
# 扁扁笨算法-AVL树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 AVL树插入之后一般会 ......
扁扁笨算法-B树的插入与删除
# 扁扁笨算法-B树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 B树是一种强结构弱数据的数 ......
【图论#02】岛屿数量,flood fill算法的代码实现与优化
### 岛屿数量 给你一个由 `'1'`(陆地)和 `'0'`(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 **示例 1:** ``` 输入:grid = [ ["1" ......
使用MD5算法和sha512sum校验和检验文件完整性
[TOC] # 一.前言 在我们日常生活中,无论是下载文件、传输数据还是备份重要信息,如何确保数据的完整性始终是一个不能忽视的问题。本文将向大家介绍如何使用MD5算法和sha512sum校验和来进行文件完整性的验证。 # 二.MD5算法简介 MD5算法,全称Message-Digest Algori ......
Python matplotlib.axes对象常用属性(绘图方式、坐标轴、刻度等)
[toc](Python Matplotlib.axes对象常用属性汇总——绘图方式、坐标轴、刻度等) `Axes`类可以设置图片(或子图)中相关属性:绘图数据、坐标轴刻度/标签、标题、图例等。它是Python操作绘图的主要接口。Matplotlib定义了一个`axes`类(轴域类),在一个给定的画 ......
c++算法之哈希表
啥是哈希表 哈希表,类似散列表,是一种存储数据的一种方式。只能说是有点奇葩。 他是通过将值转换成数组的下标,也就是f[x]=x的意思,大家估计都能理解吧😃。 所以他可以通过这样的方式存储后遍历数组就可以发现他家可以自动排序,而且只需O(n)时间复杂度。 但是所需要的空间式数据中的最大值。 输入数据 ......
常用板
## 零. 写在前面 1. 请将数组开到合适大小。 2. 请考虑是否开 `long long`。 3. 文章内容较多,可使用 Ctrl + F 快速定位。 ## 一. 优化 ### 1. 快读快写 ```cpp inline ll read(){ ll x=0,f=1;char ch=getchar ......
英语口语口译常用句型
英语口语口译常用句型 发布时间: 2011-10-28 阅读量: 1821 Any day will do?哪一天都可以? Any messages for me?有我的留言吗? Are you by yourself?你一个人来吗? All right with you?你没有问题吧? Are y ......
Knife4j常用注解
Knife4j注解说明 1. @Api 添加在控制器类上,通过此注解的tags属性,可以指定模块名称,并且,在指定名称时,建议在名称前添加数字作为序号,Knife4j会根据这些数字将各模块升序排列,例如: @Api(value = "提供商品添加、修改、删除及查询的相关接⼝",tags = "01. ......
数据结构与算法八股
讲一讲插入排序 讲一讲冒泡排序 讲一讲快速排序 讲一讲堆排序 讲一讲归并排序 dp dp数组的定义及含义:dp[num1.length+1][num2.length+1],为什么要+1呢,因为我们要判断他与前面的关系涉及到i-1,所以遍历需要从1开始 return的是什么 如果初始化时候size+1 ......
FlashAttention算法详解
这篇文章的目的是详细的解释Flash Attention,为什么要解释FlashAttention呢?因为FlashAttention 是一种重新排序注意力计算的算法,它无需任何近似即可加速注意力计算并减少内存占用。所以作为目前LLM的模型加速它是一个非常好的解决方案,本文介绍经典的V1版本,最新的 ......
工作常用sheLL脚本(掌握!!)
Linux中10个一线工作中常用 Shell 脚本 原创 入门小站 入门小站 2023-08-20 19:01 发表于湖北 收录于合集#Linux815个 入门小站 分享运维技巧及10k+Stars的开源项目 275篇原创内容 公众号 【Linux250个常用命令速查手册】关注【入门小站】,后台回复 ......
VS Code常用快捷键
思维导航 前言 设置VS Code中的键盘快捷方式 常用快捷键 文件操作 编辑操作 导航、搜索和替换操作 调试操作 官方VS Code快捷键图 前言 对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VS Code常用快捷键清单,希望能够帮助到你,欢迎在评论区 ......
【算法】用c#实现自定义字符串编码及围栏解码方法
编写一个函数/方法,它接受2个参数、一个字符串和轨道数,并返回ENCODED字符串。 编写第二个函数/方法,它接受2个参数、一个编码字符串和轨道数,并返回DECODED字符串。 然后使用围栏密码对其进行解码。 这种密码用于通过将每个字符沿着一组“竖状轨道”依次放在对角线上来对字符串进行编码。首先开始 ......
SpringBoot 测试实践 - 1:常用的工具
我自己接触到的一些商业或是开源的基于 SpringBoot 项目,它们大部分是没有测试代码的,`test` 文件夹只有脚手架初始化生成的那个测试类,跟不同的开发聊到这个话题,发现他们中的大部分没有写测试的习惯,或者是觉得写测试代码麻烦,主要还是依赖测试工程师做黑盒的测试。只做黑盒测试的话有一定的的局 ......
GO语言有哪些常用框架
# Go语言框架有哪些? ## 三个Go语言框架的详细对比: 1. Gin Gin 框架是目前最受欢迎的 Go 语言框架之一,它具有轻量级、高性能和易于使用的特点。 Gin 框架提供了很多内置的功能,例如路由、中间件、HTTP 响应、模板渲染等等,可以帮助你快速地创建一个高质量的RESTful AP ......
分布式共识算法之Raft设计与实现
### 如何理解分布式共识? 多个参与者 针对 某一件事 达成完全 一致 :一件事,一个结论 已达成一致的结论,不可推翻 ### 有哪些分布式共识算法? - Paxos:被认为是分布式共识算法的根本,其他都是其变种,但是 Paxos 论文中只给出了单个提案的过程,并没有给出复制状态机中需要的 mul ......
Bcrypt加密算法相关
### 简介 Bcrypt是一个跨平台的文件加密工具,由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。spring-security内部就是使用这个算法来对用户密码加密的(BCryptPasswordEncoder)。 ### ......
CGAL入门——凸壳算法
一、凸壳算法 凸壳是能包含点集合的最小凸多边形,即凸壳是点集合的一个子集,将这个子集的点连接起来可以包含点集中所有的点。 二、数组中点的凸壳 #include <iostream> #include <CGAL/Exact_predicates_inexact_constructions_kerne ......
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状态, 目的是让4种字符词频一样。 返回需要修改的最短子串长度。 完美走位问题。 输入:s = "QQQ ......
Prim算法是一种用于解决最小生成树问题的贪心算法。它通过逐步选择边来构建最小生成树,直到包含了所有的顶点。以下是Prim算法的Java代码示例:
```java import java.util.*; class PrimAlgorithm { private static final int INF = Integer.MAX_VALUE; public void primMST(int[][] graph) { int vertices ......