自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode 设计前中后队列

双端队列,来进行数据的增加与删除。并且在增加数据后要保持两个对列的平衡。---代码借鉴了灵神的思路。// 返回 -1 -> [] (队列为空)q.popFront();// 返回 1 -> [4, 3, 2]q.popMiddle();// 返回 3 -> [4, 2]q.popMiddle();// 返回 4 -> [2]q.popBack();// 返回 2 -> []中间位置的时候,选择靠前面的位置进行操作。请你设计一个队列,支持在前,中,后三个位置的。

2023-11-29 18:45:35 186

原创 使字符串的单词倒序输出表示

让p跳过该单词的其他字母,即跳非空格和非‘\0’的字符,回到第一步,准备给下一个pword[i]赋值。字符串逆序本来是很容易的事情,但这道题比较麻烦的地方是,题目里要求以单词为单位进行逆序处理,但是原始数据的组织是字符数组,即以字符为单位的。让p跳过连续空格,并用串尾'\0'替换空格(这里不替换也可以,只是从程序的通用性和可扩展性来看,加串尾更好。主函数中,由用户输入不超 100 个单词,调用函数后,倒序输出。主函数中,由用户输入不超 100 个单词,调用函数后,倒序输出。补充代码,请实现函数。

2023-11-29 08:53:52 207

原创 Leedcode 每日一题: 2760. 最长奇偶子数组

多动脑子,不要只会暴力解法。

2023-11-16 18:11:52 233

原创 由日期计算当天是星期几

随便给你个日期,你可以计算这一天是星期几吗?

2023-11-12 14:42:42 377

原创 LeedCode 1402. 做菜顺序

1. 首先,获取满意度数组的大小 `n`,以及初始化两个变量 `num` 和 `num1`,分别代表当前的满意度总和和满意度的累计贡献。初始时,`num` 和 `num1` 均为0。每道菜都需要花费 1 单位时间完成。使用贪心策略,每次选择当前满意度后,根据当前的满意度总和判断是否继续选择后面的满意度,以获得最大的满意度总和。- 如果当前满意度总和 `num` 小于等于0,说明后面的满意度不可能使总满意度更大,因此跳出循环。- 否则,将当前满意度总和 `num` 加到满意度的累计贡献 `num1` 上。

2023-10-22 14:34:50 97

原创 LeetCode 2512. 奖励最顶尖的 K 名学生

给你两个字符串数组和,分别包含表示正面的和负面的词汇。有单词同时是正面的和负面的。一开始,每位学生分数为0。每个正面的单词会给学生的分数3分,每个负面的词会给学生的分数1分。给你n个学生的评语,用一个下标从开始的字符串数组report和一个下标从开始的整数数组student_id表示,其中表示这名学生的 ID ,这名学生的评语是report[i]。每名学生的 ID。给你一个整数k,请你返回按照得分最顶尖的k名学生。如果有多名学生分数相同,ID 越小排名越前。[1,2]

2023-10-11 18:51:06 94

原创 C++primer 第二章 变量和基本类型

类(Class):封装数据和函数的用户定义类型。- 枚举类(Enum class):具有强类型和作用域的枚举类型。- 联合体(Union):使用相同的内存位置存储不同类型的数据。- 结构体(Struct):将不同类型的数据聚集到一个对象中。- 类型别名(Typedef):为现有类型创建新的类型名称。- using 声明(using declaration):引入命名空间中的特定成员。其中bool类型是一个字节,char类型一个字节,wchar_t为宽字符为16个字节。。。

2023-10-11 18:42:03 828

原创 Leetcode 2591. 将钱分给最多的儿童

给你一个整数money,表示你总共有的钱数(单位为美元)和另一个整数children,表示你要将钱分配给多少个儿童。14请你按照上述规则分配金钱,并返回有多少个儿童获得8美元。如果没有任何分配方案,返回-1。1最多获得 8 美元的儿童数为 1。一种分配方案为:- 给第一个儿童分配 8 美元。- 给第二个儿童分配 9 美元。- 给第三个儿童分配 3 美元。没有分配方案能让获得 8 美元的儿童数超过 1。2每个儿童都可以获得 8 美元。

2023-09-22 23:26:08 51

原创 C++Primer 第一章 开始

最近好像想的有点多,人也不知道该怎们办了,也不知道该怎么学。跟我们数据库老师还有前端老师交流了一下,感觉受益还是挺深的。需要慢慢整理一下现在状态,尽量有节奏的生活,学习。不急躁,不冒进。现在是大三,有好多比赛,想着要不要参加--因为自己害怕失败所以去逃避。所以想着在复习一下之前的c++prime。

2023-09-22 17:27:58 440

原创 leetcode 2560. 打家劫舍 IV

沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。由于相邻的房屋装有相互连通的防盗系统,所以小偷。小偷的定义为他在窃取过程中能从单间房屋中窃取的。给你一个整数数组nums表示每间房屋存放的现金金额。形式上,从左起第i间房屋中放有nums[i]美元。另给你一个整数k,表示窃贼将会窃取的房屋数。小偷总能窃取至少k间房屋。返回小偷的窃取能力。

2023-09-19 21:23:30 210

原创 LCP 50. 宝石补给(每日一题)

欢迎各位勇者来到力扣新手村,在开始试炼之前,请各位勇者先进行「宝石补给」。每位勇者初始都拥有一些能量宝石,gem[i]表示第i位勇者的宝石数量。现在这些勇者们进行了一系列的赠送,表示在第j次的赠送中 第x位勇者将自己一半的宝石(需向下取整)赠送给第y位勇者。在完成所有的赠送后,请找到拥有宝石的勇者和拥有宝石的勇者,并返回他们二者的宝石数量。2解释: 第 1 次操作,勇者0将一半的宝石赠送给勇者2第 2 次操作,勇者2将一半的宝石赠送给勇者1第 3 次操作,勇者2将一半的宝石赠送给勇者0。

2023-09-19 13:24:51 85

原创 leetcode 1222. 可以攻击国王的皇后(每日一题)

1222. 可以攻击国王的皇后在一个的棋盘上,放置着若干「黑皇后」和一个「白国王」。给定一个由整数坐标组成的数组queens,表示黑皇后的位置;以及一对坐标king,表示白国王的位置,返回所有可以攻击国王的皇后的坐标(任意顺序)。[0,1] 的皇后可以攻击到国王,因为他们在同一行上。[1,0] 的皇后可以攻击到国王,因为他们在同一列上。[3,3] 的皇后可以攻击到国王,因为他们在同一条对角线上。[0,4] 的皇后无法攻击到国王,因为她被位于 [0,1] 的皇后挡住了。

2023-09-14 20:07:14 79

原创 leecode 每日一题 2596. 检查骑士巡视方案

骑士在一张n x n的棋盘上巡视。在的巡视方案中,骑士会从棋盘的出发,并且访问棋盘上的每个格子。给你一个n x n的整数矩阵grid,由范围内的不同整数组成,其中表示单元格(row, col)是骑士访问的第个单元格。骑士的行动是从下标开始的。如果grid表示了骑士的有效巡视方案,返回true;否则返回false。,骑士行动时可以垂直移动两个格子且水平移动一个格子,或水平移动两个格子且垂直移动一个格子。下图展示了骑士从某个格子出发可能的八种行动路线。true。

2023-09-13 22:03:41 226

原创 leetcode 1921. 消灭怪物的最大数量(每日一题)

最近学习的状态找回很多。慢慢来吧,加油!你正在玩一款电子游戏,在游戏中你需要保护城市免受怪物侵袭。给你一个且长度为n的整数数组dist,其中dist[i]是第i个怪物与城市的(单位:米)。怪物以的速度走向城市。给你一个长度为n的整数数组speed表示每个怪物的速度,其中speed[i]是第i个怪物的速度(单位:米/分)。怪物从时开始移动。你有一把武器,并可以在每一分钟的开始时使用,包括第 0 分钟。但是你无法在一分钟的中间使用武器。这种武器威力惊人,一次可以消灭任一还活着的怪物。

2023-09-13 21:49:35 199

原创 蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法

最近才回学校。在家学习的计划不翼而飞。但是回到学校了,还是没有找回状态。现在是大三了,之前和同学聊天,说才大三无论是干什么,考研,找工作,考公,考证书 还都是来的及的。但是心里面有点慌 还要学习的东西太多了,离找工作的标准还很远,考研的话英语又是道坎。也许是越使人痛苦的东西自己越想去逃避。不去想,也许就不会发生了。这种行为使我感到很大的罪恶感,通过去玩游戏,发呆,看小说,听音乐去逃避现实。麻木自己的内心感到的充足,逃避现实。所以要改变 那就现在。

2023-09-01 16:33:17 1112

原创 信息的表示与处理 (深入理解计算机系统第二章)

当1100 11111100 0111作为一个无符号数时数值为:-12345+32768+32768=53191

2023-07-25 20:28:06 186

原创 在计算机中 : 负数的类型转换 (概述)

如果我们读到一个二进制数11111111(在8位二进制下),我们就知道这个数 是-1。

2023-07-25 20:07:17 774 1

原创 32位计算机与64位计算机的区别

32位计算机的理论上的内存空间上限为4GB(2^32 字节),这个数字已经远远不能满足现在的一些资源密集型应用。相比之下,64位计算机的理论内存空间上限可达16EB(Exabyte,即10亿GB或者说2^64 字节),这大大提高了计算机的性能,使得其可以支持更大内存,满足现代高内存需求的应用的需要。32位计算机一次可以处理32位的数据,而64位计算机一次可以处理64位的数据。所有的64位处理器都可以在32位模式下运行,而且可以运行32位的软件。但是32位的处理器不能运行64位的软件。

2023-07-24 10:47:06 242

原创 每月进度总结 7月1日~7月22日

一个月已经过了三分之二了,感觉这个月是在学校学的很多。也是最充实的三个星期。看完了自顶向下的方法 刷题超过40道,视频看了100多个,博客写了20篇左右粉丝涨了1个呜呜呜

2023-07-22 17:56:44 115

原创 每日一题 Leetcode-1499满足不等式的最大值

前两个点满足 |xi - xj| <= 1 ,代入方程计算,则得到值 3 + 0 + |1 - 2| = 4。第三个和第四个点也满足条件,得到值 10 + -10 + |5 - 6| = 1。只有前两个点满足 |xi - xj| <= 3 ,代入方程后得到值 0 + 0 + |0 - 3| = 3。数组中每个元素都表示二维平面上的点的坐标,并按照横坐标 x 的值从小到大排序。没有其他满足条件的点,所以返回 4 和 1 中最大的那个。在加一个解法采用算双端队列来存储点的索引。

2023-07-22 16:12:25 112

原创 bis和bic区别与实现

"BIS"通常指的是"Bit Set"。假设有一个指令BIS A,B,那么B中为1的位在A中会被设置为1,其他位保持不变。"BIC"通常指的是"Bit Clear"。这个指令通常用于清除特定位,即将特定的一位或多位设置为0。假设有一个指令BIC A,B,那么在B中为1的位会在A中被清除(设置为0),其他位保持不变。这些操作经常用于处理低层次的硬件控制,例如在嵌入式系统编程中,用于控制特定硬件引脚的状态。"BIS"和"BIC"是两种位操作指令,它们在某些计算机硬件和汇编语言中被使用。

2023-07-22 11:41:40 447

原创 大端法与小段法的区别

大端法是指数据的最高位字节(大端)存放在内存的最低位,也就是说,在地址最低的地方放置值的最高位字节(最重要的位)。例如,在32位整数0x12345678中,0x12是最高位字节,如果这个整数按照大端法存储,那么0x12会存储在最低的内存地址处。也就是说,在地址最低的地方放置值的最低位字节(最不重要的位)。按照同样的例子,32位整数0x12345678,按照小端法存储,0x78会存储在最低的内存地址处。大端与小端指的是多字节值的字节顺序,或更确切的说,是指在计算机系统存储这些值的高字节位和低字节位的顺序。

2023-07-22 09:37:41 341

原创 计算机硬件的组成

显卡通常具有自己的图像处理单元(GPU),可加速图形渲染和图像处理。实际上,每个组件都有更多细分和不同的规格选项,也会根据计算机类型和用途的不同而有所差异。主板(Motherboard):是计算机系统的主要电路板,连接了各种硬件设备。主板上包含芯片组、扩展槽、接口和连接器等。电源供应器(Power Supply Unit,PSU):提供所需的电力给整个计算机系统。扩展卡(Expansion Cards):如网卡、声卡、显卡等,用于增加特定功能或性能。散热器和风扇:用于散热和保持硬件组件的温度在安全范围内。

2023-07-20 11:14:01 799

原创 数组与容器的对比

总的来说,数组和容器各有优劣,但因为容器提供了更多的功能和更好的灵活性,而且在许多情况下都具有良好的性能,因此在许多C++编程场景中,容器比数组更受推荐。

2023-07-19 19:23:40 231

原创 leetcode 每日一题 874. 模拟行走机器人 c++模拟解法

2. obSet.insert(make_pair(ob[0], ob[1])) insert()是一个标准库容器set的成员函数,用在set中插入新的元素 是把障碍物的坐标插入进去。3 obSet.find(make_pair(nx,ny))==obSet.end() 这个代码是检查位置nx ny 如果有这个位置,就是这个位置在范围内 那么find就返回一个指向这个项目迭代器 不存在的话就返回end()函数的值,就是返回这个函数的末尾。注意我们用的是哈希表的操作,不是定义的容器。

2023-07-19 19:14:56 327

原创 一个hello文件的四个阶段

1 预处理阶段:将#后面的include<stdio.h> 指令插入到程序文本中变为 .i的文件扩展。4链接阶段:得到hellow的可执行文件hello.exe ,将其加载到存储器中,由系统负责执行。2编译阶段:编译器将hello.i翻译为一个汇编语言 hello.s。3汇编阶段 :汇编器将hello.s文本翻译为二进制的机器语言。

2023-07-19 16:45:18 40

原创 计算机网络中的安全

网络安全是指保护计算机网络和与之相关的系统、硬件、软件以及其中存储的数据不受未经授权的访问、使用、修改、中断、破坏或泄露的一系列措施和实践。它旨在确保网络的机密性、完整性和可用性,以防止恶意活动对网络造成损害。网络安全涉及多个方面,包括:保护机密性:确保只有经过授权的用户能够访问敏感信息,通过加密等技术手段防止信息被窃取或非法获取。确保完整性:保证数据在传输和存储过程中不被篡改或损坏,防止数据被修改或冒充引起的问题。

2023-07-18 20:32:07 136

原创 Bob带着便携机从插网线到建立Google Web的连接

Bob便携机因此首先生成一个具有目的端口 80 (针对HTTP的)的TCP SYN 报文段,将该TCP报文段放置在具有目的IP地址64. 233. 169. 105 (www. google, com)的IP 数据报中,将该数据报放置在MAC地址为OO:22:6B:45:1F:1B (网关路由器)的帧中, 并向交换机发送该帧。注意到在该帧中的IP数据报具有IP目的地址68. 87.71.226 ( DNS服务器), 而该帧具有目的地址OO:22:6B:45:1F:1B (网关路由器)。

2023-07-17 20:33:05 55

原创 HTTP HTML 概述

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在客户端和服务器之间传递数据的应用层协议。HTML(Hypertext Markup Language,超文本标记语言)是一种用于创建网页和应用程序界面的标记语言。Web浏览器能够解析HTML文档并根据标记和元素的定义呈现出网页的可视化表示。这些标签可以指示文本的格式、图片的显示、链接的导航,以及其他各种元素的呈现方式。HTTP负责数据的传输和通信,而HTML定义了网页的结构和内容。Hypertext :超文本。

2023-07-17 19:19:46 254

原创 NAT 网络地址转换

当内部设备发送请求到互联网上的服务器时,NAT会将请求的源IP地址从私有IP地址转换为公共IP地址,并在返回时将响应的目标IP地址转换回私有IP地址。这个过程隐藏了内部网络的真实IP地址,提高了网络的安全性。3. 减少公网IP地址的需求:由于NAT的存在,一个组织或家庭可以通过使用私有IP地址范围来连接多个设备,而无需为每个设备都分配公共IP地址。总的来说,NAT是一种在计算机网络中常用的技术,它能够将私有IP地址映射到公共IP地址上,提高网络的安全性,并解决了IP地址资源有限的问题。

2023-07-17 16:43:37 188

原创 交换机 功能详解

当数据包需要跨越不同网络进行传输时,交换机将数据包发送给路由器,由路由器根据目标IP地址决定下一跳的路径,然后转发给相应的网络。它们的协同工作可以实现一个稳定、高效和安全的网络架构。为了提高网络的可靠性,一些交换机支持冗余组网结构,通过多个交换机之间建立冗余链路,实现数据的容错和备份。交换机基于目标MAC地址的查找表,将接收到的数据帧转发到目标设备所在的端口上,从而实现数据的快速、准确传输。通过在交换机上划分虚拟局域网(VLAN),可以将不同的设备划分到不同的逻辑网络中,实现网络的分割与隔离。

2023-07-17 09:48:00 1045

原创 适配器的作用

使得不同的设备或系统能够进行有效的通信和交互。它充当了一个桥梁角色,将不同的接口、协议或格式进行转换,使得数据能够正确地传输和被理解。USB适配器:用于将USB接口转换为其他类型的接口,以支持不同种类的设备连接。显示适配器:用于将计算机的图形信号转换为显示设备可以识别的格式,以显示图像。在计算机中 适配器常用于连接外部设备与计算机系统之间,实现数据的传输交互。网络适配器:用于将计算机与网络连接起来,允许计算机通过网络进行通信。解决不同接口之间的不兼容性问题。

2023-07-14 21:24:36 524

原创 信道划分之常见的几种方法

是一种无线通信技术,它使用不同的扩频码(Spreading Code)将用户的数据进行编码,并在相同的频率上同时传输多个用户的信号。信道可以是单向的(仅支持信息在一个方向的传输),也可以是双向的(支持信息在两个方向的传输)。使用不同的扩频码将用户的数据进行编码,通过在不同的码上进行传输,实现多用户之间的并行通信。将时间划分为连续的时隙,并按照一定的顺序将每个用户的数据放置在各个时隙中进行传输。- 抗干扰能力强:由于每个用户的扩频码都是互相正交的,CDMA可以有效地抵抗多径衰落、噪声和其他用户的干扰。

2023-07-14 16:29:35 1096

原创 链路层----差错检测方法

循环冗余检测(CRC,Cyclic Redundancy Check):CRC 是一种更强大的差错检测方法,通过对数据帧进行除法运算,生成一个固定长度的冗余码。发送端将生成的冗余码添加到数据帧的尾部,接收端也进行同样的除法运算,将计算出的余数与接收到的冗余码进行比较,若不一致则存在差错。奇偶校验是最简单的差错检测方法,在每个数据帧中添加一个附加位,使得整个帧中1的个数为奇数或偶数,接收端通过计算接收到的帧中1的个数来检测差错。步骤 3:将得到的结果作为新的被除数,并重复上述步骤,直到完成所有运算。

2023-07-14 14:54:37 536

原创 数据链路层提供的服务

链路层使用差错检测技术,例如循环冗余校验(CRC),来检测数据传输过程中的比特错误,以确保数据的完整性。在某些情况下,链路层还可以进行简单的差错纠正,例如通过重传丢失的帧来修复错误。链路层负责将网络层传递下来的数据报封装成帧(Frame),添加帧首部和帧尾部,以便在物理介质上传输。同时,在接收端,链路层也负责解封装,将接收到的帧还原为数据报。通过冲突检测、冲突避免等技术,协调设备之间的访问,避免冲突,并实现公平和有序的数据传输。例如,链路层协议可以支持设备的发现、地址分配、链路状态的监测与报告等功能。

2023-07-14 09:32:57 99 1

原创 计网: 一条QQ信息在发送中会经历了什么

客户端与服务器之间的间接连接:如果你和好友不在相同的局域网环境下,或者直接P2P连接失败,QQ客户端将使用服务器中转的方式进行消息传递。在此情况下,你的消息将通过你的QQ客户端与服务器之间的已建立连接发送给服务器,然后再由服务器将消息发送给好友的QQ客户端。4 当你的好友回复您的消息时,上述过程将反向进行,从你的好友的QQ客户端发送到QQ服务器,然后再传输到您的QQ客户端。2 QQ服务器接收到你的消息后,会将消息存储在服务器上,并通过互联网将该消息传输给你的好友的QQ客户端。涉及的硬件设备与组件。

2023-07-14 08:57:29 242

原创 外部网关协议详解

外部网关协议(Exterior Gateway Protocol)是用于在自治系统(AS)之间进行路由选择和交换路由信息的协议。外部网关协议的主要目标是实现自治系统之间的互联互通,并确保网络之间的最佳路由选择和数据传输。外部网关协议是在自治系统(AS)之间进行路由选择和交换路由信息的协议。- 邻居关系:BGP建立在不同自治系统的BGP路由器之间的邻居关系上,通过这些邻居关系来交换路由信息。- 路由策略:管理员可以配置路由策略来控制路由的传播和选择,根据需要和策略来影响路由的行为。

2023-07-13 19:36:36 424

原创 数据平面与控制平面的 生动解释----房间与CEO

控制平面监视和管理数据平面,并基于预先设定的规则和策略做出决策。类似于楼内管理人员,控制平面通过与其他网络设备或控制器之间的通信来协调和指导数据平面的运行。想象一下这座大楼的数据平面是楼内的各个房间,人们在其中工作、交流和移动。就像房间里的人员根据需要自由移动,数据平面根据网络中的数据流决定如何转发和处理数据包。数据平面和控制平面的分离也可以通过汽车来类比。数据平面就像汽车的发动机、车轮和底盘,它们负责实际的行驶和运输操作。数据平面和控制平面是这座大楼中的两个重要组成部分。

2023-07-13 16:43:21 121 1

原创 ATM 是什么?

虚电路的建立和维护由网络中的交换机负责,以确保数据在传输过程中的有序性和可靠性。ATM 网络采用了一种称为 ATM 单元的固定大小的数据包来传输信息。这种固定大小的单元结构使得 ATM 网络能够提供可靠的、实时的传输服务,适用于要求高带宽和低延迟的应用。2. 低延迟:由于采用固定大小的数据包和虚电路技术,ATM 网络可以提供低延迟的传输服务,对实时应用非常友好。3. 灵活性:ATM 网络支持多种类型的数据传输,包括语音、视频和数据等,具有很高的适应性。服务的具有专用硬件和专有软件的中间盒。

2023-07-13 16:16:24 156

原创 路由震荡原因 及解决方法

路由聚合和汇总:通过对网络中的路由信息进行聚合和汇总,减少路由表的规模,可以降低路由震荡的概率。使用路由重分发技术:通过使用路由反向刷新(route dampening)等技术,对路由信息的变化进行缓冲和衰减,减少不稳定的路由信息对网络的影响。不一致的路由计算:当网络中的路由器使用不同的路由算法或配置参数不一致时,可能会导致路由信息在网络中传播时发生不一致,进而引发路由震荡。网络拓扑变化:当网络中的拓扑结构发生变化,例如链路故障、路由器故障等,可能导致路由信息的快速变化,从而引发路由震荡。

2023-07-12 15:39:18 1189 1

空空如也

空空如也

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

TA关注的人

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