分量 算法 笔记tarjan

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 ......
39 字符 倍数 段子 字符串

Prim算法是一种用于解决最小生成树问题的贪心算法。它通过逐步选择边来构建最小生成树,直到包含了所有的顶点。以下是Prim算法的Java代码示例:

```java import java.util.*; class PrimAlgorithm { private static final int INF = Integer.MAX_VALUE; public void primMST(int[][] graph) { int vertices ......
算法 Prim 示例 顶点 代码

Kruskal算法是一种用于寻找图的最小生成树的贪心算法。它通过按照边的权重递增的顺序选择边,并将其添加到生成树中,同时确保不会形成环路。

Kruskal算法可以通过生活中的例子来解释。我们可以将城市之间的道路网络看作是一个图,每个城市是一个顶点,道路是连接城市的边,而道路的长度可以看作是边的权重。假设我们想要修建一条连接所有城市的最小成本道路网络。 首先,我们需要找到连接城市的所有道路,并按照道路的长度进行排序。然后,我们从最短的道路 ......
算法 环路 权重 顺序 同时

我反对独立开发者做笔记产品:从商业角度看笔记产品市场竞争

事情是这样的,刷掘金时看到这篇文章:[良言难劝该死鬼,居然有人觉得独立开发做三件套是件好事](https://juejin.cn/post/7268896098827403301),这篇文章提到了另一篇文章,是我很喜欢的一个公众号号主和菜头写的一篇《[从番茄时钟和记账本开始](https://mp. ......
笔记 产品 产品市场 开发者 角度

学习笔记 - Java 面向对象_中

## this 关键字 当形参名和属性名相同时,使用 this 关键字来区分,有 this 修饰的变量是属性,无 this 修饰的是形参。 this 可以调用的除了属性,还有方法、构造器。 所以,this 指的是当前对象(在方法调用时)或当前正在创建的对象(在构造器中调用时)。 在构造器中,使用 ` ......
对象 笔记 Java

扩展欧几里得算法

# 裴蜀定理 对于任意正整数 $a,b$,记 $g=(a,b)$,一定存在整数 $x,y$,使得 $ax+by=g$,且能凑出的数一定是 $g$ 的倍数。 首先由于 $a,b$ 都是 $g$ 的倍数,所以能凑出的数必定是 $g$ 的倍数。 关键在于怎么证明一定存在整数 $x,y$,使得 $ax+by ......
算法

笔记本电脑主板的细微伤痕:一场与微观世界的舞蹈

## 引言:微小的伤痕,巨大的影响 有一天,我在检查一台笔记本电脑时,发现了一个微小的细节——主板上的绝缘层有一点被磨损了。这样一个微不足道的伤口,竟然引领了我走入了一个丰富多彩的微观世界。 ## 第一幕:一个小小的问题,隐藏的危机 ### 伤口的解剖学:细微的危险 在我们的笔记本电脑的主板(Mot ......
微观 主板 伤痕 舞蹈 笔记本

STL容器和算法

[toc] # STL容器和算法 ## 基本概念 标准模板库,主要分为容器、算法、迭代器。 通过迭代器访问容器中的数据,并进行算法操作。 所有代码采用模板类和模板函数的方式。 ## 容器 ### 容器的分类 #### 序列式容器 每个元素都有固定位置,该位置取决于插入时机和地点,和元素值无关。 ve ......
算法 容器 STL

操作系统学习笔记

Stanford: CS140使用操作系统概念 CS162使用操作系统:设计与原理 # 基础 ## 操作系统发展史 ### 原始操作系统 ![image-20230820150441945](https://duuuuu17bucket.oss-cn-shenzhen.aliyuncs.com/im ......
笔记 系统

快速幂算法

# 快速幂 洛谷 P1226 【模板】快速幂||取余运算 ```c++ #include using namespace std; typedef long long ll; ll quickpow(ll a, ll b, ll p = 10) { // 计算a的b次方 if (b == 0) re ......
算法

算法总结

# 前言: 有关于算法的一切的大合集 # 基本数据结构及排序方法手撸 - 完全二叉树/满二叉树 - 红黑树 1. 节点分为红色或者黑色; 2. 根节点必为黑色; 3. 叶子节点都为黑色,且为null; 4. 连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点); 5. 从任意节点出发,到 ......
算法

c++ 丢失笔记 [运算符重载、this指针、复制与拷贝构造、生存周期、箭头操作符]

# 运算符重载、this指针、复制与拷贝构造、生存周期、箭头操作符 有一部分是学校的OJ里做题需要就提前学了,然后没记笔记,有一部分是笔记丢了。不打算补这些笔记。 不过还是在这里mark一下++运算符的重载。 因为++运算符可以前置也可以后置,所以这里需要注意一下,**如果是后置++,需要一个int ......
操作符 运算符 箭头 指针 拷贝

C语言 笔记3

# 可变数组 设计一个Array库,提供数组初始化,数组数据查看和修改的功能,且数组大小可变。 ## array.h ```c /* 可变数组 */ // array_block,每次触发自动增长时增长的数量,记作一个array_block #define ARRAY_BLOCK 10 typede ......
语言 笔记

C语言 笔记4

# 全局变量 * 定义在函数外部的变量是全局变量。 * 全局变量具有全局的生存期和作用域 * 全局变量与任何函数都无关 * 在任何函数内部都可以使用全局变量 * 不能使用变量给全局变量初始化 * 不初始化的全局变量默认为NULL * 函数内的同名变量会隐藏全局变量 ```c int a = 1; { ......
语言 笔记

C语言 笔记5

# 格式化输入输出 ## 输入 - printf ```c printf("%[flags][width][.prec][hlL]type...",参数表...); ``` ### 返回值 输出的字符数 ### flag | Flag | 含义 | | | | | - | 左对齐 | | + | 给 ......
语言 笔记

C语言 笔记 1

# 指针有什么用? ## 场景A 通过函数交换两个变量的值 eg. 交换变量a,b的值 ```c int swap(int *a, int *b){ int temp = 0; temp = *a; *a = *b; *b = temp; } ``` ## 场景B 返回结果有多个,或return返回 ......
语言 笔记

C语言 笔记2

# 枚举 ## 常量符号化 我们可以用下面代码将常量符号化 ```C const int red = 0; const int yellow = 1; const int blue = 2; ``` 用枚举可以简写成 ```c enum = colors {red,yellow,blue}; ``` ......
语言 笔记

「Python」第一阶段第七章笔记

# 函数的多返回值 ```python """ 函数的多返回值 """ def my_return(): return 1,2 x,y = my_return() print(x,y,type(x),type(y)) ``` # 函数的多种传参方式 ```python """ 函数的多种传参方式 - ......
阶段 笔记 Python

「Python」第一阶段第四章笔记

# while循环 ```python """ while 条件: 代码块 """ num = 255; # python没有++和-- while num: print(num) num -= 1 ``` # for循环 ## for基础语法 ```python """ for循环(感觉更像是一个 ......
阶段 笔记 Python

「Python」第一阶段第三章笔记

# 布尔类型和比较运算符 ```python """ 跳过 """ ``` # if语句 ## 基本格式 ```python """ if语句基本格式 if 条件: 代码块 """ age = int(input("请输入你的年龄: ")) if age >= 18: print("老东西速速爆金币 ......
阶段 第三章 笔记 Python

「Python」第一阶段第二章 笔记

# 字面量 ```python # 字面量: 写在程序中固定的值 print(114514) print(1919810) print("Hello World") ``` # 注释 ```python """ Python中的 多行注释 """ print("多行注释用三个引号开头三个引号结尾") ......
阶段 第二章 笔记 Python

「Python」第一阶段第八章笔记

# 文件的读取操作 # 打开文件 ## open函数 - 打开文件 # 读取文件 ```python open(name,mode,encoding) # 文件名,模式,编码 ``` ## read方法 - 读取文件 ```python file.read(num) # 不传参表示读取所有内容 `` ......
阶段 笔记 Python

「Python」第一阶段第五章笔记

# 函数的初体验 ```python """ 函数的初体验 """ name = "OrzMiku" print(f"{name}这个名字有{len(name)}个字符长") ``` # 函数的定义 ```python """ 函数的定义 def 函数名(参数表): 函数体 return 返回值 " ......
阶段 笔记 Python

「Python」第二阶段第一章笔记

# 初识对象 ```python """ 初识对象 """ # 1. 设计一个类 class Stu: name = None # 学生姓名 gender = None # 学生性别 nationality = None # 学生国籍 native_place = None # 学生籍贯 age = ......
阶段 笔记 Python

Linux笔记(银河麒麟V10)

## Linux 下切换 Python 版本 ```bash $ whereis python $ rm /usr/bin/python $ ln -s /usr/bin/python3.6 /usr/bin/python ``` 测试: ```bash $ python --version Pyt ......
笔记 Linux V10 10

第二十三节 API(算法,lambda,练习)

# 常见的七种查找算法: ​ 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。 ## 1. 基本查找 ​ 也叫做顺序查找 ​ 说明:顺序查找适合于存储 ......
算法 lambda API

「学习笔记」归并排序

关于归并排序,百度百科是这样定义的: > 归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路 ......
笔记

「学习笔记」离散化

## 一、离散化 ####介绍 > 照片要曾经说过:“你们这再优化,也比不过我离散化的速度。” 可以看出离散化再一些题目中还是十分吃香的。百度百科上是这样解释离散化的: > 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下, ......
笔记

Linux驱动开发详解——学习笔记

# Linux 设备驱动概述 计算机系统的运转需要软件和硬件共同参与,硬件是底层基础,软件则实现了具体的应用。硬件和软件之间则通过**设备驱动**来联系。在没有操作系统的情况下,工程师可以根据硬件设备的特点**自行定义接口**。而在有操作系统的情况下,**驱动的架构则由相应的操作系统来定义**。驱动 ......
笔记 Linux

FEMU模拟器学习笔记

QEMU参数解析 QEMU的main函数进来后,首先要进行参数解析。一个启动模拟器的命令行如下: x86_64-softmmu/qemu-system-x86_64 -name "FEMU-ZNSSD-VM" -enable-kvm -cpu host -smp 2 -m 4G -device vi ......
模拟器 笔记 FEMU