- 博客(40)
- 收藏
- 关注
原创 力扣3531——统计被覆盖的建筑
给你一个正整数 n,表示一个 n x n 的城市,同时给定一个二维数组 buildings,其中 buildings[i] = [x, y] 表示位于坐标 [x, y] 的一个 唯一 建筑。输入: n = 3, buildings = [[1,2],[2,2],[3,2],[2,1],[2,3]]输入: n = 5, buildings = [[1,3],[3,2],[3,3],[3,5],[5,3]]输入: n = 3, buildings = [[1,1],[1,2],[2,1],[2,2]]
2025-12-11 15:01:25
694
原创 力扣717——1 比特与 2 比特字符
给你一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一个一比特字符,则返回 true。解释: 唯一的解码方式是将其解析为一个两比特字符和一个一比特字符。解释:唯一的解码方式是将其解析为两比特字符和两比特字符。输入: bits = [1, 0, 0]输入:bits = [1,1,1,0]所以最后一个字符不是一比特字符。所以最后一个字符是一比特字符。bits[i] 为 0 或 1。
2025-11-18 11:39:10
240
原创 力扣1513——仅含 1 的子串数
有个小坑是计算等差数列时, number_ones * (number_ones + 1)会超int范围,因此需要用long接住在取模转int。给你一个二进制字符串 s(仅由 ‘0’ 和 ‘1’ 组成的字符串)。解释:子字符串 “1” 在 s 中共出现 2 次。解释:共有 9 个子字符串仅由 ‘1’ 组成。解释:每个子字符串都仅由 ‘1’ 组成。输入:s = “0110111”输入:s = “111111”“111” -> 1 次。输入:s = “101”输入:s = “000”“1” -> 5 次。
2025-11-16 11:56:08
264
原创 力扣2536——子矩阵元素加1
输入:n = 3, queries = [[1,1,2,2],[0,0,1,1]] 输出:[[1,1,0],[1,2,1],[0,1,1]]给你一个正整数 n ,表示最初有一个 n x n 、下标从 0 开始的整数矩阵 mat ,矩阵中填满了 0。输入:n = 2, queries = [[0,0,1,1]] 输出:[[1,1],[1,1]]解释:上图所展示的分别是:初始矩阵、执行完第一个操作后的矩阵、执行完第二个操作后的矩阵。对于n=5,[[1,1,3,3],[2,2,4,4],]的情况。
2025-11-14 12:27:47
310
原创 力扣3228——将 1 移动到末尾的最大操作次数
例如,对于 s = “010010”,如果我们选择 i = 1,结果字符串将会是 s = “000110”。选择字符串中的任一下标 i( i + 1 < s.length ),该下标满足 s[i] == ‘1’ 且 s[i + 1] == ‘0’。对于 0001111,从左到右计算连续的1,0001111连续1为4次,但是不可移动。对于 1001101,从左到右计算连续的1,1001101连续1为1次。结果字符串为 s = “0011101”。结果字符串为 s = “0001111”。
2025-11-13 18:30:29
307
原创 力扣1611——使整数变为 0 的最少操作次数(简单易懂版)
给你一个整数 n,你需要重复执行多次下述操作将其转换为 0 :代码测试用例测试用例测试结果1611. 使整数变为 0 的最少操作次数已解答困难相关标签premium lock icon相关企业提示给你一个整数 n,你需要重复执行多次下述操作将其转换为 0 :翻转 n 的二进制表示中最右侧位(第 0 位)。如果第 (i-1) 位为 1 且从第 (i-2) 位到第 0 位都为 0,则翻转 n 的二进制表示中的第 i 位。返回将 n 转换为 0 的最小操作次数。示例 1:输入:n = 3
2025-11-09 12:38:25
1263
原创 力扣2——两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]解释:342 + 465 = 807.输出:[7,0,8]
2025-11-05 17:53:09
299
原创 力扣3318——计算子数组的 x-sum I(偷懒版)
对于子数组 [1, 2, 2, 3, 4, 2],只保留元素 2 和 4。对于子数组 [2, 2, 3, 4, 2, 3],只保留元素 2 和 3。因此,answer[2] = 2 + 2 + 2 + 3 + 3。对于子数组 [1, 1, 2, 2, 3, 4],只保留元素 1 和 2。输入:nums = [1,1,2,2,3,4,2,3], k = 6, x = 2。输入:nums = [3,8,7,8,7,5], k = 2, x = 2。输出:[11,15,15,15,12]输出:[6,10,12]
2025-11-04 21:10:02
449
原创 力扣2257——统计网格图中没有被保卫的格子数(暴力深搜版)
同时给你两个二维整数数组 guards 和 walls ,其中 guards[i] = [rowi, coli] 且 walls[j] = [rowj, colj] ,分别表示第 i 个警卫和第 j 座墙所在的位置。输入:m = 4, n = 6, guards = [[0,0],[1,1],[2,3]], walls = [[0,1],[2,2],[1,4]]输入:m = 3, n = 3, guards = [[1,1]], walls = [[0,1],[1,0],[2,1],[1,2]]
2025-11-02 22:13:21
292
原创 力扣3370——仅含置位位的最小整数(思路简单)
显然表中从左到右第一个小于99的数字是64,因此题解想要求得的数字是 [64,32,16,8,4,2,1]的全置位即1111111。对于任意一个数,先找到该数字二进制最大位在8421码的位置,再将该位置右侧的数字全部赋为1。8421码表:[512,256,128,64,32,16,8,4,2,1]该数字的十进制为64+32+16+8+4+2+1=127。置位 位指的是二进制表示中值为 1 的位。15 的二进制表示是 “1111”。7 的二进制表示是 “111”。3 的二进制表示是 “11”。
2025-10-29 17:26:48
165
原创 力扣3354——使数组元素等于零(思路简单)
摘要 题目要求找到能够通过特定操作将所有数组元素变为零的起始位置和方向组合数。关键思路是:对于每个零元素,比较其左右两侧元素之和。若两侧和相等,则存在两种有效解(左右方向各一);若两侧和差为1,则存在一种有效解。通过遍历数组并累积左右和差,可以统计所有可能的解。示例1中左右和相等的零元素有两个方向选择,故输出2;示例2无满足条件的零元素,输出0。
2025-10-29 16:04:45
341
原创 dcgm+Prometheus+grafana+loki+promtail搭建显卡监控及日志管理系统
在本项目中,Promtail 扮演了一个日志代理(Agent)的角色,负责将本地日志内容收集并发送到 Loki。字段被设置为 http://loki:3100/loki/api/v1/push,这是Promtail 向 Loki 发送日志数据的 API 端点。中,所有容器通过桥接网络连接,因此 Promtail 容器能够通过容器名直接访问 Loki 容器。目录绑定,使得 Promtail 可以访问到本地日志文件。目录,从而实现 Promtail 对 DCGM Exporter 容器日志内容的抓取。
2024-08-05 15:25:17
1704
原创 prometheus监控gpu linux
进入工作环境 (base) czy@NP5570M5:~$将prometheus映射到9900端口(系统默认配置为9090端口,但9090端口被不知名进程占用)新建终端,进入grafana执行打开转发端口为3000的地址 http://localhost:3000/账号:admin密码:admin打开仪表板查看gpu指标。
2024-08-01 00:19:15
844
原创 在docker容器内搭建本地知识库-2
由于本地大模型始终无法搭建,因此自己写了一个调用在线大模型(但也预留了本地大模型的接口)、使用本地chunk器的本地知识库项目。
2024-07-20 15:37:17
488
原创 操作系统实验磁盘调度
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录一、实验目的二、实验要求三、数据结构四、实验过程五、附录六、代码一、实验目的磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按
2022-05-22 20:59:27
656
原创 电子地图管理系统
GTBL_打开.txt:#linkID=51660;roadnameflag=0;branch=0;dispclass=11;roadname=a路#linkID=5177;roadnameflag=0;branch=0;dispclass=8;roadname=b路#linkID=56310;roadnameflag=0;branch=0;dispclass=8;roadname=c路#linkID=51771;roadnameflag=0;branch=0;dispclass=11;roadna
2022-05-22 16:10:04
788
原创 操作系统实验存储管理
实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。实验内容实验方案实验代码...
2022-05-12 14:09:10
703
原创 操作系统实验模拟银行家算法
实验银行家算法实验目的死锁会引起计算机工作僵死,因此操作系统中必须防止。本实验的目的在于让学生独立的使用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。实验内容1、银行家算法设 Reguest i是进程 P i的请求向量,如果 Requesti [j]= K ,表示进程 P i需要 K 个 R j类型的资源。当 Pi 发出资源请求后,系统按下述步骤进行检查:(1)如果 Requestl
2022-04-24 11:48:01
1572
原创 操作系统进程控制实验报告代码
#include<iostream>#include<vector>#include <ctime>#include <queue>using namespace std;int n;int method;class random //取随机数{public: static inline int getRandom(const int min, const int max, int match) { srand(ti
2022-04-13 16:27:31
1756
2
原创 链表队列的实现
#include<iostream>using namespace std;template<class T>class node{public: T data; node<T>* next;};template<class T>class LinkQueue{public: LinkQueue(); ~LinkQueue(); void EnQueue(T x); T DeQueue(); T GetQueue() {
2022-04-01 16:02:11
112
原创 队列的简单代码
#include<iostream>using namespace std;const int M = 100;template <class T>class CirQueue{public: CirQueue(); ~CirQueue(){} void EnQueue(T x); T DeQueue(); T GetQueue(); int Empty();private: T data[M]; int front, rear;};templat
2022-04-01 15:11:24
177
原创 链表栈的实现
#include<iostream>using namespace std;template <class T>class node{ T data; node<T>* next;};template <class T>class linkstack{ node<T>* top;public: linkstack() { top == nullptr; } ~linkstack() { while (t
2022-03-31 17:00:11
1074
原创 栈的深搜(迷宫问题)
#include<iostream>using namespace std;int dx[4] = { 0,1,0,-1 };int dy[4] = { 1,0,-1,0 };struct DataType{ int x, y, d;};struct DirectInc{public: int dx; int dy;};template <class T>class SeqStack{public: SeqStack() { top = -1
2022-03-31 16:43:25
364
原创 栈的简单代码
#include<iostream>using namespace std;template <class T>class SeqStack{public: SeqStack() { top = -1; } ~SeqStack() {} void Push(T x); T pop(); T GetTop(); int Empty();private: T data[100]; int top;};template<class T>
2022-03-31 15:21:28
167
原创 Minesweeper(c++代码)
原题链接#include <iostream>#include <cstring>using namespace std;int main(){ int a, b; int num = 1; while (cin >> a >> b) { if (a == 0 && b == 0) break; string* s = new string[a];
2022-03-31 13:16:48
370
原创 高端的食材只需要简单的烹饪方式-排列
原题链接#include<iostream>using namespace std;int main(){ int a, b, c, d; cin >> a >> b >> c >> d; cout << a << " " << b << " " << c << endl; cout << a << " " << c <
2022-03-30 15:55:23
188
原创 递归算法,简单易懂(k进制数)
原题链接#include<iostream>using namespace std;int n, k;int judge(bool is_zero, int num){ num++; if (num == n) { if (is_zero == true) return 1; else return k - 1; } if (is_zero == false)
2022-03-30 15:53:27
193
原创 landun蚂蚁(c++)
原题链接#include<iostream>using namespace std;int landun[100][100];int m, n;int x, y, k;char s;int main(){ cin >> m >> n; for (int x = 0; x < m; x++) { for (int y = 0; y < n; y++) { cin >> landun[x][
2022-03-30 15:51:23
185
原创 回文数字(递归求解,又臭又长,慎点)
原题链接#include<iostream>#include<string>using namespace std;int n;string sub(string s){ string m; for (int i = s.length() - 1; i >= 0; i--) { m += s[i]; } return m;}void fund(int num, int m, string s, bool b){ i
2022-03-30 15:49:48
162
原创 地宫取宝(动态规划) 耗时6ms
原题链接#include<iostream>using namespace std;int n, m, K;int num[50][50];//存储题目输入的地宫long long dp[50][50][13][13];//表示在(i,j)位置上手持宝物为k时,最大价值为c是的路径数目int mod = 1000000007;int main(){ cin >> n >> m >> K; for (int i = 1; i
2022-03-30 15:47:55
559
原创 城市建设AC代码(kruskal算法+并查集)
原题链接对于本题样例虚构地点6连接1,2,3,4,5,从而代替码头的功能(例如1,2,3,建设码头,等价于6站点建设三座联通1,2,3,的道路)5 51 2 41 3 -12 3 32 4 54 5 10-1 10 10 1 1我们使用kruskal算法:选取花费最低的路径1-3,此时总花费sum=-1;已连接站点:1-3继续取最小值的路径6-4,此时总花费sum=0;已连接站点:1-3,6-4继续取最小值的路径6-5,此时总花费sum=1;已连接站点:1-3,6-4-5继
2022-03-30 15:46:22
178
原创 小朋友排队——树状数组
原题链接设第k个小朋友应该移动n次,则n=(1-k)个小朋友中身高大于k的人数+((k+1)-n)个小朋友中身高小于k的人数满足前大后小原则例如33 2 10 1 2(前大)2 1 0(后小)故总移动次数为2 2 2因此不搞笑值=3+3+3=9所以问题转化为求解每一位数的前k个身高大于k的人数+后(k+1-n)个身高小于k的人数和题干中1< =n< =100000,0< =Hi< =1000000。因此使用暴力破解法一定超时h故考虑使用树状数组设tree
2022-03-30 15:43:46
205
原创 带分数题解
原题链接/*先用深搜找出所有的1~9数字排列组合,对每一次排列组合结果划分为三个数字例如第一次深搜结果为123456789,对其第一次划分1 2 3456789计算1+2/3456789结果第二次划分1 23 456789计算1+23/456789………………*/#include<iostream>using namespace std;int ans = 0;int v[10];int sum[10];double N;int change(int left,
2022-03-30 15:41:57
100
原创 格子刷油漆c++dp(最详细)
原题链接看了好多大佬的代码,使用人数最多也是最容易的解法还是动态规划对于一个1列格子,从左上角第一个顶点出发的路径数为1:当n=2时,从左上角第一个顶点出发的路径数为6:那n=3呢?画出n=3时的表格,我们不难发现n=3与n=2时两者路径数的联系:我们假设在n=2时从左上角第一个格子出发回到第一个格子下方的路径数为b,此时b=2分别为:当n=3时从左上角第一个格子出发,可以被划分为两种情况,分别为 左上角第一个格子—>第二列格子 我们注意到此时又分为三种情况:1.对于上图中第
2022-03-30 15:37:51
1580
1
原创 单链表代码
#include<iostream>using namespace std;template <class T>class node{public: int data; node<T>* next;};template <class T>class linklist{public: linklist(); linklist(T a[], int n); linklist(int n, T a[]); ~linklist();
2022-03-30 15:22:10
1608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅