- 博客(67)
- 收藏
- 关注
原创 [leetcode]stack的基本操作的回顾
/获取stack内部的元素的多少。s.swap(s2);//交换stack s 和 s2的元素。if (s.empty())//判断stack是否为NULL。//获取stack的顶部元素。//删除stack顶部元素。s.push(1);
2025-04-11 20:46:16
234
原创 [leetcode]01背包问题
要求在有限的背包容量下选择一些物品放入背包,使得放入背包的物品总价值最大,且放入物品的总重量不能超过背包的容量。例如,有一个容量为5的背包,有3个物品,分别是重量为2、价值为3的物品1,重量为3、价值为4的物品2,以及重量为1、价值为2的物品3。// dp数组, dp[i][j]代表行李箱空间为j的情况下,从下标为[0, i]的物品里面任意取,能达到的最大价值。// 初始化, 因为需要用到dp[i - 1]的值。
2025-04-10 22:19:48
963
原创 [leetcode]优先队列:求解前K个高频元素
优先队列就行ICU病房一样,并不是像普通的队列遵循先来后到的原则,就像ICU并非会根据病人生病的严重程度优先安排医疗一样,体现在优先队列中就是按照某个重要性的标准来进行排列。从整棵树的最后一颗子树开始调整,每次都让根节点和左右孩子去比较,如果根节点比左右孩子的最大值要小,那么就将这两个值进行交换,然后此时这颗子树变成了大根堆,再看下一颗树。当每棵子树都是大根堆的情况下,那么这棵树也就是大根堆了。
2025-04-10 10:42:45
758
原创 [leetcode]差分算法
这张图的第一行的数组代表给原数组的第2到4项元素的数值加3。相当于我们在第二行的差分数组的第2项加了3,而我们不希望第五项的值有变化,我们就让第五项的值减3。这个第三行的数组是让原数组的2~4的数值加3。这张图展示的为原数组。
2025-04-09 20:42:24
357
原创 [leetcode]前缀和
/求这个区间的所有元素的和//求数组nums中从startIndex到endIndex的全部区间元素的和i++)i++)int main()return 0;
2025-04-08 10:20:50
621
原创 [leetcode]queue的操作的回顾
q.empty();//如果队列为空返回true,否则返回false。//返回队列尾元素的值,但不删除该元素。q.front();//返回队首元素的值,但不删除该元素。//删除队列首元素但不返回其值。//返回队列中元素的个数。q.push(1);//在队尾压入新元素。
2025-04-03 15:50:33
317
原创 [leetcode]回溯法
void backtracking(参1:题目中的数组,参2:结束循环的变量,参3:第n层 for 循环从谁开始,也就是子数组的开始位置,是一直变化的) { // 参数中要有一个值控制树的深度。backtracking(参1:题目中的数组,参2:结束循环的变量,参3:第n层 for 循环从谁开始);6.我们找寻找我们需要的结果的时候,遇到需要回溯的情形了,我们要进行对应的回溯。void calc(int k)//生成从 1 到 n 的所有全排列。if (chosen[i])//检查数字是否已被使用。
2025-04-01 20:59:16
720
原创 [leetcode]使用了unordered_map的寻找两数之和
numMap.end()) {//在um中查找这个补充数,如果在这个无需映射之中。//那么返回这两数的索引。//如果不在这个um中,就将之加入um。
2025-03-25 21:31:25
191
原创 [leetcode]map和unodered_map的使用场景
需要按键值排序:当需要按键值进行排序时, 是一个很好的选择。例如,统计字符出现次数并按字符的ASCII值排序输出。频繁的范围查询:如果需要频繁地进行范围查询(如查找某个区间内的键值对), 的有序性可以方便地进行范围查询。需要保持插入顺序:虽然 是按键值排序的,但如果你需要保持插入顺序,可以结合其他数据结构使用。快速查找、插入和删除:当需要快速的查找、插入和删除操作时, 的平均 O(1) 时间复杂度非常有优势。例如,在两数之和问题中,快速查找目标值的补数。不关心顺序:如果键值对的顺序不重要,只是需要快速访问
2025-03-25 21:10:18
470
原创 [leetcode]map的用法
std::map是一个非常强大的关联容器,适用于需要快速查找、插入和删除键值对的场景。自动排序:键值对会根据键自动排序。高效查找:查找操作的时间复杂度为O(logn)。灵活操作:支持插入、删除、查找等多种操作codewhile (it!mp.clear();return 0;
2025-03-25 20:07:28
637
原创 [leetcode]双指针算法的使用
双指针即是在有序数组的情况下,我们通过两个指针在遍历的过程中进行标记,对满足条件的进行处理,直至遍历完整个数组。
2025-02-05 16:42:53
1071
原创 [leetcode]两数之和等于target
/ 确保列表是排序的,因为双指针法要求输入是有序的// 迭代器指向列表的第一个元素// 迭代器指向列表的最后一个元素while (itB!= itE)if (sum > target) // 大于去大--itE;else if (sum < target) // 小于去小++itB;else // 找到了break;if (!if (!
2025-02-05 16:09:19
478
原创 [Leetcode]求最长公共前缀
step1:取首个字符串作为参考(s0),如果和首个字符串的前缀匹配那就可以继续判断。step2:进行横向遍历step3:退出条件如果达到了任意一个字符串的末尾或者出现了不匹配的现象。
2025-02-05 15:39:30
280
原创 [C++]const的使用场景
const修饰指针有三种情况:1.const修饰指针 -- 常量指针2.const修饰常量 -- 指针常量3.const即修饰指针,又修饰常量总结:我的理解:const就是让这个单元格的内容不可以被修改,const右边的那格变量的值不可以被修改。比如:const int *p = &stiA;(这里理解为,p是一个指向int的指针,在别的地方可以写为int* p,更加强调一个整体类型)就是说,这个指针p指向的int值是不可以被修改的)。但是对于 int * const p = &sti2A;
2025-02-04 15:54:39
862
原创 [JavaWeb]Tlias系统表单项(表单标签)
阅读。<input type="checkbox" name="hobby" value="writing"> 写作。<input type="hidden" name="hidden" value="隐藏">
2025-01-23 17:27:10
669
原创 [leetcode](找到vector中的特定元素并删除)无重复字符的最长子串
/示例vector//要删除的元素//查找元素if(it!//找到元素,删除它//打印结果return0;
2025-01-18 13:49:55
718
原创 [leetcode](适合有一定基础需要刷题的宝宝)map STL的增删查改
本篇适合有一定C++基础,需要快速了解增删查改的操作用法,去刷leetcode的BB.
2025-01-17 15:14:31
878
原创 [计算机网络]一. 计算机网络概论第一部分
客户-服务器模式是互联网中一种常见的通信模式,客户主动请求服务,服务器被动响应请求。客户和服务器通过网络核心部分提供的服务进行通信。这种模式广泛应用于Web服务、文件传输、邮件服务、数据库访问等场景。对等连接(P2P)是一种分布式网络架构,每个节点既是客户端也是服务器,节点之间可以直接通信。P2P网络具有去中心化、高资源利用率、高弹性和可扩展性强等特点。P2P技术广泛应用于文件共享、分布式计算、即时通讯和区块链等领域。
2025-01-16 16:42:34
1096
原创 [leetcode]链表基础回顾
char ch;Node* next;while (p!= '#') {// 创建新节点,初始化 ch 和 next 为 nullptrs->ch = ch;p = s;return 0;
2025-01-15 16:09:45
1217
原创 [Leetcode]各种基本类型转为string类型,以及string类型转为基本类型的基础语法
cpp 浮点类型 (, , ): cpp 字符类型 (): cpp 布尔类型 (): cpp C++ int与string相互转换_c++ int转string-优快云博客
2025-01-13 14:21:41
356
原创 [私用学习笔记·突击面试]Collection和迭代器
Java集合体系架构分为Collection和Map两大集合框架,其中Collection是单列集合的顶级接口,它具有单列存储的特点,即一次只能添加一个元素;而Map则是双列集合的接口。Collection作为顶级接口,它最主要的三个子接口分别是List,Set和Queue。同时,作为顶级接口它抽取了所有实现类的共有方法。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
2025-01-13 14:14:41
839
原创 [IT项目管理]十三.项目采购管理(Program Procurement Management)
固定价格激励费(Fixed Price Incentive Fee, FPIF)合同:承包商承诺以固定价格完成工作,但合同中包含激励条款,例如成本节约奖励、成本超支分担等。激励条款的目的是鼓励承包商控制成本、提高效率,并按时完成工作。PTA(Point of Total Assumption) 是指承包商承担在总价合同成本上每额外增加 1 美元的临界点。超过 PTA 后,承包商将承担所有额外的成本,而不再享受任何成本超支分担的条款。包含向供应商支付直接与间接实际成本的合同。
2025-01-02 19:44:11
982
原创 [IT项目管理(双语)]术语整理
挣值管理(Earned Value Management, EVM)是一种项目管理技术,通过比较项目计划的成本(计划价值,PV)、实际成本(Actual Cost, AC)以及完成的工作价值(挣值,EV)例如,如果一个公司的长期目标是成为环保领导者,那么“减少20%的能源消耗”就是一个相关的目标。是项目管理中的一个重要概念,它指的是截止到某个时间点,项目实际完成的工作量所对应的预算价值。例如,而不是说“提高销售额”,一个特定的目标可能是“在本季度将销售额提高15%”。目标应该是明确和具体的,
2025-01-01 08:55:40
764
原创 [计算机网络]OSPF协议
链路状态就是说明本路由器都和哪些路由器相邻,以及该链路的度量(费用,时延,带宽)。链路状态数据库所有的路由器都可以建立一个链路状态数据库。这个数据库其实就是全网的拓扑结构图,它在全网范围内是一致的(这叫做链路状态数据库的同步)OSPF的链路状态数据库可以较快地进行更新,使得每个路由器可以及时地更新其路由表。OSPF的更新过程收敛得快是其重要的优点。(坏消息也传播地快)
2024-12-23 20:52:13
556
原创 [计算机网络]RIP协议
RIP是一种分布式的,基于距离向量的路由选择协议运行RIP协议的路由器,维护从它自己到其他每一个目的网络的距离记录。从一个路由器到直接连接的网络的距离定义为0。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。距离页叫做跳数,因为每 经过一个路由器,跳数就加1。这里的“距离”实际上指的是“最短距离”。RIP认为经过路由器最少的数目少,即距离短。
2024-12-23 20:50:25
936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人