自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 网络编程笔记

局域网:局域网将一定区域的各种计算机、外部设备和数据连接起来形成计算机通信的私有网络广域网:又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程公共网络。

2024-07-15 09:03:16 1295 1

原创 线程同步笔记

①线程同步为了对共享资源的访问进行(多个线程操作一个全局变量)②保护的目的是为了解决的问题。如果其他线程不会对变量进行修改和读取那么不存在数据一致性问题如果其他线程对变量只能读那么也不存在数据一致性问题如果其他线程可以对变量进行修改那么一定存在数据一致性问题③出现数据一致性问题其本质在于进程中的多个线程对共享资源的。

2024-07-08 14:59:09 1110

原创 线程学习笔记

它被包含在进程之中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流(或者说是执行路线、执行流),一个进程中可以创建多个线程,,每个线程执行不同的任务。譬如某应用程序设计了两个需要并发运行的任务 task1 和 task2,可将两个不同的任务分别放置在两个线程中。

2024-07-08 09:16:58 936

原创 Linux进程笔记

系统调用 execve()可以将新程序加载到某一进程的内存空间,通过调用 execve()函数将一个外部的可执行文件加载到进程的内存空间运行,使用新的程序替换旧的程序,而进程的栈、数据、以及堆数据会被新程序的相应部件所替换,然后从新程序的 main()函数开始执行。②:当父进程的某个子进程收到停止或者恢复信号时,内核有可能会发送此信号给父进程可以借用这一信号,创建信号处理函数wait来回收僵尸进程,但是有一个问题,在处理信号时如果又有相同信号发送过来,那么只能处理一次,会有漏网之鱼。

2024-07-07 16:33:53 605

原创 信号基础笔记

信号是发生事件时对进程的一种通知机制。

2024-06-26 13:26:08 720

原创 深入了解文件IO笔记

同一个文件(譬如磁盘上的同一个文件,对应同一个 inode)被多个独立的读写体同时进行 IO 操作。

2024-06-25 14:43:46 660

原创 标准IO笔记

标准 I/O 库则是标准 C 库中用于文件 I/O 操作(譬如读文件、写文件等)相关的一系列库函数的集合库文件<stdio.h>文件IO和标准IO的区别:1)标准IO是C库函数,文件IO是Linux系统调用2)标准IO是文件IO封装而来,调用标准IO实际是调用文件IO完成实际操作3)标准IO可移植性好,很多操作系统都实现了标准IO库,在不同系统中接口定义几乎一样4)标准IO性能、效率优于文件IO,标准IO维护了自己的stdio缓冲区。

2024-06-24 15:18:18 658

原创 文件IO笔记

数据流方向定义:文件IO是对文件的输入、输出操作,通俗点说就是对文件的读/写操作主要涉及4个函数:open()、read()、write()、close()简单流程:打开文件、读或写文件、关闭文件。

2024-06-20 08:58:52 463

原创 linux常用命令笔记

Shell 的意思是“外壳”,在 Linux 中它是一个程序,比如/bin/sh、/bin/bash 等。tar xzvf dira.tar.gz -C /home/book //解压到/home/book。tar xjvf dira.tar.bz2 -C /home/book //解压到/home/book。find /home/book -mtime -2 //查找/home 目录下两天内有变动的文件。注意 hy 用户组必须要在。find . -name " *.txt " //其中.代表当前路径。

2024-06-19 10:29:16 562

原创 vim编辑器笔记

vi 是一个命令,也是一个命令行下的编辑器,它有如下功能:⚫ 打开文件、新建文件、保存文件⚫ 光标移动⚫ 文本编辑⚫ (多行间|多列间)复制、粘贴、删除⚫ 查找和替换一、vi的模式二、 文件的打开/新建/保存打开vi修改之后输入 “:q” (退出)或 “:wq”(先保存再退出) 或 “!q”(强制退出)编辑文件刚打开文件一般处于一般模式i: 当前光标位置进入编辑模式I:当前光标位置所在行的行首进入编辑模式a:当前光标所在字符的下一个字符进入编辑模式。

2024-06-19 09:24:22 248

原创 makefile笔记

CC:c编译器的名称,默认值为cc去除回显‘’’‘’’

2024-06-18 18:36:03 919

原创 gcc编译流程

步骤:预处理(preprocesing)->编译(compilation)->汇编(assembly)->链接(linking)hf-gcc -c -o sub.o sub.c 交叉编译需要在最后面加上-fPIC 参数。

2024-06-17 19:13:49 137

转载 leetcode:多米诺和托米诺平铺

有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 + 7 取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。

2022-11-12 09:43:28 158 1

原创 leetcode:判断字符串的两半是否相等

两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A','E','I','O','U')。注意,s 可能同时含有大写和小写字母。给你一个偶数长度的字符串 s。将其拆分成长度相同的两半,前一半为 a ,后一半为 b。如果 a 和 b 相似,返回 true;否则,返回 false。

2022-11-11 10:25:30 197

转载 leetcode:获取所有钥匙的最短路径

一、题目给定一个二维网格grid,其中:'.'代表一个空房间 '#'代表一堵 '@'是起点 小写字母代表钥匙 大写字母代表锁我们从起点开始出发,一次移动是指向四个基本方向之一行走一个单位空间。我们不能在网格外面行走,也无法穿过一堵墙。如果途经一个钥匙,我们就把它捡起来。除非我们手里有对应的钥匙,否则无法通过锁。假设 k为 钥匙/锁 的个数,且满足1 <= k<= 6,字母表中的前k个字母在网格中都有自己对应的一个小写和一个大写字母。换言之,每个锁有唯一对

2022-11-10 08:36:10 183

转载 leetcode:最大加号标志

因此,我们可以预处理出每个位置上下左右四个方向上连续的 11 的个数,然后遍历所有的 (i, j)(i,j),求出 dp[i][j]dp[i][j] 的最大值即可。一个 k 阶由 1 组成的 “轴对称”加号标志 具有中心网格 grid[r][c] == 1 ,以及4个从中心向上、向下、向左、向右延伸,长度为 k-1,由 1 组成的臂。我们定义 dp[i][j]dp[i][j] 表示以 (i, j)(i,j) 为中心的最大加号标志的阶数,答案即为所有 dp[i][j]dp[i][j] 的最大值。

2022-11-09 13:06:15 90

原创 leetcode:统计一致字符串的数目

给你一个由不同字符组成的字符串allowed和一个字符串数组words。如果一个字符串的每一个字符都在 allowed中,就称这个字符串是 一致字符串 。请你返回words数组中一致字符串 的数目。

2022-11-08 11:12:37 97

转载 leetcode:模糊坐标

我们有一些二维坐标,如"(1, 3)"或"(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S。返回所有可能的原始字符串到一个列表中。原始的坐标表示法不会存在多余的零,所以不会出现类似于"00", "0.0", "0.00", "1.0", "001", "00.01"或一些其他更小的数来表示坐标。此外,一个小数点前至少存在一个数,所以也不会出现“.1”形式的数字。最后返回的列表可以是任意顺序的。而且注意返回的两个数字中间(逗号之后)都有一个空格。

2022-11-07 09:58:21 40

原创 leetcode:设计Goal解析器

请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G"、"()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。

2022-11-06 10:23:11 144

原创 leetcode:解析布尔表达式

一、题目给你一个以字符串形式表述的布尔表达式(boolean)expression,返回该式的运算结果。有效的表达式需遵循以下约定:"t",运算结果为True "f",运算结果为False "!(expr)",运算过程为对内部表达式expr进行逻辑非的运算(NOT) "&(expr1,expr2,...)",运算过程为对 2 个或以上内部表达式expr1, expr2, ...进行逻辑与的运算(AND) "|(expr1,expr2,...)",运算过程为对

2022-11-05 11:38:25 198

转载 leetcode:到达最终点数字

一、题目在一根无限长的数轴上,你站在0的位置。终点在target的位置。你可以做一些数量的移动numMoves:每次你可以选择向左或向右移动。 第i次移动(从 i == 1开始,到i == numMoves),在选择的方向上走i步。给定整数target,返回到达目标所需的最小移动次数(即最小numMoves)。二、思路三、代码class Solution: def reachNumber(self, target: int) -&g

2022-11-04 10:16:06 42

原创 leetcode:最大重复子字符串

给你一个字符串sequence,如果字符串word连续重复k次形成的字符串是sequence的一个子字符串,那么单词word的重复值为k。单词word的最大重复值是单词word在sequence中最大的重复值。如果word不是sequence的子串,那么重复值k为0。给你一个字符串sequence和word,请你返回最大重复值k。

2022-11-03 12:04:56 78

原创 leetcode:网络信号最好的坐标

一、题目给你一个数组towers和一个整数radius。数组towers 中包含一些网络信号塔,其中towers[i] = [xi, yi, qi]表示第i个网络信号塔的坐标是(xi, yi)且信号强度参数为qi。所有坐标都是在 X-Y 坐标系内的整数坐标。两个坐标之间的距离用欧几里得距离计算。整数radius表示一个塔能到达的最远距离。如果一个坐标跟塔的距离在radius以内,那么该塔的信号可以到达该坐标。在这个范围以外信号会很微弱,所以

2022-11-02 14:04:28 85

原创 leetcode:检查两个字符串是否相等

给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串是由数组中的所有元素 按顺序 连接形成的字符串。

2022-11-01 10:04:18 179

转载 leetcode:神奇字符串

A magical string s consists of only '1' and '2' and obeys the following rules:

2022-10-31 12:43:03 63

原创 leetcode:字母大小写全排列

给定一个字符串s,通过将字符串s中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。以任意顺序返回输出。

2022-10-30 12:15:50 330

原创 leetcode:统计匹配检索规则的物品数量

给你一个数组 items ,其中items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。另给你一条由两个字符串ruleKey 和 ruleValue 表示的检索规则。如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :ruleKey == "type" 且 ruleValue == typei 。ruleKey == "color" 且 ruleValue == colori 。ruleKey == "name

2022-10-29 12:22:00 106

转载 leetcode:子数组的最小值之和

给定一个整数数组 arr,找到 min(b)的总和,其中 b 的范围为 arr 的每个(连续)子数组。由于答案可能很大,因此 返回答案模 10^9 + 7 。

2022-10-28 11:27:17 366

原创 leetcode:数组元素积的符号

已知函数signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。返回 signFunc(product)

2022-10-27 16:36:26 829

转载 leetcode:和至少为的最短子数组

给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1 。子数组 是数组中 连续 的一部分。

2022-10-26 12:15:29 132

原创 leetcode:最短的桥

给你一个大小为 n x n 的二元矩阵 grid ,其中 1 表示陆地,0 表示水域。岛是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。你可以将任意数量的 0 变为 1 ,以使两座岛连接起来,变成 一座岛 。返回必须翻转的 0 的最小数目。

2022-10-25 10:49:50 56

转载 leetcode:分割数组

给定一个数组nums,将其划分为两个连续子数组left和right

2022-10-24 21:27:56 271

转载 交替合并字符串

给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串

2022-10-23 16:27:32 410

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除