首页
学习
活动
专区
工具
TVP
发布

乐行僧的博客

专栏作者
356
文章
188641
阅读量
26
订阅数
死锁
死锁产生的原因有两个: 1.多进程或多线程对不可剥夺的软硬件资源进行的竞争 2.操作系统内核对于多个进程推进顺序的非法,多个进程对于资源的请求与释放的顺序不正确,造成资源的死锁。
lexingsen
2022-05-06
5640
差分
题目描述:输入一个长度为n的整数序列。 接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。 请你输出进行完所有操作后的序列。
lexingsen
2022-05-06
3610
拓扑排序
AcWing848.有向图的拓扑序列 #include <iostream> #include <cstring> #include <vector> #include <queue> using namespace std; const int N=1e5+10; int n, m; vector<int> G[N]; int indegree[N]; vector<int> ans; bool topSort() { int cnt = 0; queue<int> q; f
lexingsen
2022-05-06
3470
软链接和硬链接
软链接-符号链接:相当于windows的快捷方式。 创建命令: ln s 文件名 软链接的名字 ln-link s-soft 特点: 1.在linux中,软链接文件的颜色为浅蓝色。 2.软链接的大小为原文件的文件名大小,即路径长度。 3.软链接仅可在当前路径下使用,即和原文件在同一目录下。创建时最好给出原文件的绝对路径。 4.目录也可创建软链接,方法同上。
lexingsen
2022-05-06
2K0
string类的实现
#include <cstring> class Cstring{ private: char* _data; public: Cstring(const char* str){ if(str!=NULL){ _data = new char[strlen(str)+1]; strcpy(_data,str); } else{ _data =new char[1]; *_data = '\0'; /*这样处理的好处是将NULL和非NULL统一处理,Cstrin
lexingsen
2022-05-06
2420
进制转换
P进制数转换为十进制数,采用按权展开相加。 int p;//p进制 int x;//p进制数字 int product=1;//任何权值的0次幂均为1 int y;//输出的十进制数字 while(x != 0){ y = y+(x%10)*product;//(x%10)获取x的个位数字 product *= p;//获取下一位的权值 x /= 10;//去掉x的个位数字 } 十进制数字转换为Q进制数字,采用除基取余法。 #define MAX 20 int Q;//Q进制 int
lexingsen
2022-05-06
5600
break和continue的区别
continue语句用于循环结构(包括while(当型循环)、do   while(直到型循环)和 for循环),
lexingsen
2022-05-06
3620
B-树,B+树,B*树
文件索引系统中应用 why? 数据量非常大-》在磁盘中存储-》会给数据创建索引-》给数据进行排序,加速搜索 需要解决两个问题? 1.减少磁盘的IO 2.更快的搜索算法 操作系统中, 管理内
lexingsen
2022-02-25
1K0
软件方法实现互斥
一.单标志法 轮流交替使用。 缺点:当有一个进程不再进入临界区,便不能修改公共变量的turn,来标识另外一个进程可以进入临界区。因此另外一个进程将永久不能进入临界区,违背“空则让进”的原则
lexingsen
2022-02-25
5260
facebook-雪花算法-分布式ID-C++实现
#include <stdint.h> #include <sys/time.h> #include <stdexcept> #include <mutex> #include <thread> #include "lightlog.h" class SnowFlake { private: static const uint64_t m_start_time_stamp = 1480166465631; // 初始时间戳 给一个随机值 static const uint64_t m_sequence
lexingsen
2022-02-25
1.1K0
C++实现-带有颜色输出的简单日志类
#ifndef _LIGHT_LOG_H #define _LIGHT_LOG_H #include <iostream> #include <ostream> #include <fstream> #include <sstream> #include <string> #include <memory> #include <mutex> #include <cstdlib> namespace llog { enum LOG_LEVEL { LOG_LEVEL_INFO, LOG_
lexingsen
2022-02-25
5730
C++多态实现
#include <iostream> #include <functional> using namespace std; using EatPtr = function<void()>; using PlayPtr = function<void()>; struct VirtualTable { EatPtr m_eat; PlayPtr m_play; }; struct Base { VirtualTable m_table; }; struct DeriveA { Base m
lexingsen
2022-02-25
3870
DP-1137. 第 N 个泰波那契数
思路 斐波那契数列的扩展版,具体看上一题 时间复杂度:O(n) 空间复杂度:O(1) 代码 class Solution { public: int tribonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else if (n == 2) { return 1; }
lexingsen
2022-02-25
2110
37-杨辉三角
本质是递推,可以动态规划做 对于杨辉三角的任意一行,第一个和最后一个元素都是1 中间的元素是由其肩膀上两个元素之和。
lexingsen
2022-02-25
1490
31-三色旗问题(荷兰国旗问题)
思路: 使用三个指针维护三个区间 📷 代码实现: #include <stdio.h> typedef enum { BLUE = 1, WHITE = 2, RED = 3 } Color; Color arr[] = {RED, BLUE, RED, WHITE, WHITE, RED, WHITE, BLUE, BLUE, RED, WHITE}; void Swap(Color* arr, int i, int j) { Color t = arr[i];
lexingsen
2022-02-25
6120
30-整数逆序输出
思路 递归体 先递归,后输出 边界条件 代码 #include <stdio.h> /* * 将一个从键盘输入的整数存放到一个数组中,通过程序的运行按照数组中的逆序输出该整数,利用递归的方法解决问题。 * */ void Print(int* a, int n, int u) { if (u == n) { return; } Print(a, n, u + 1); printf("%d", a[u]); if (u == 0) {
lexingsen
2022-02-25
4260
29-约瑟夫环问题
代码 #include <stdio.h> /* 编号为 1,2,3,…,n 的 n 个人围坐一圈,任选一个正整数 m 作为报数上限值, 从第一个人开始按顺时针方向报数,报数到 m 时停止,报数为 m 的人出列。 从出列人的顺时针方向的下一个人开始又从 1 重新报数,如此下去,直到所有人都全部出列为止。 */ int LastRemain(int n, int m) { if (n == 1) { return 0; } return (LastRemain(n
lexingsen
2022-02-25
4640
28-输出等腰三角形
思路 每行前输出空格的数量 每行空格后*的数量 每行后注意输出换行符 代码 #include <stdio.h> /* 本实例要求从键盘输入任意整数 n,通过程序运行输出对应高度为 n 的等腰三角形 */ void PrintTriangle(int n) { // 输出几行 for (int i = 0; i < n; i++) { // 输出每行前的空格 for (int j = 0; j < n - i -1; j++) {
lexingsen
2022-02-25
2630
27-字符串加密和解密算法
思路 根据题意,思路是比较好想的,但是要注意以下两点 加密时,要注意偏移之后的值(下标 + 5)不能超能ascii码所能表示的范围。 解秘时,要注意偏移之后的值(下标 - 5)不能小于0,所以需要加上N然后取模。 代码 #include <stdio.h> #include <string.h> /* * 在本实例中要求设计一个加密和解密算法。 * 在对一个指定的字符串加密之后,利用解密函数能够对密文解密,显示明文信息。 * 加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值 5。
lexingsen
2022-02-25
1.2K0
26-统计单词个数
思路 在字符串中一个完整单词的特征? 空格前且空格前是字符 换行符前且空格前是字符 代码 #include <stdio.h> #include <string.h> #include <ctype.h> int count(char* s) { int n = strlen(s); int i = 0; int cnt = 0; for (i = 0; i < n; i++) { if (isalpha(s[i]) && (s[i + 1] == ' '
lexingsen
2022-02-25
6880
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档