- 博客(49)
- 收藏
- 关注
原创 实验2-代理模式和观察者模式设计
(1)远程代理:为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中。(3)需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象.,可以使用观察者模式创建一种链式触发机制。(2)虚拟代理:如果需要创建一个资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时才会被真正创建。(1)核心思想:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。1、代理模式与观察者模式各自的特征是什么?
2025-09-02 19:37:29
579
原创 实验1-工厂方法和抽象工厂模式
(1)核心思想:工厂父类负责定义创建产品对象的公共接口,工厂子类负责生成具体的产品对象,将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。(3)将创建对象的任务委托给多个工厂子类中的某一个,客户端在使用时可以无须关心是哪一个工厂子类创建产品子类,需要时再动态指定,可将具体工厂类的类名存储在配置文件或数据库中。(1)一个类不知道它所需要的对象的类:客户端不需要知道具体产品类的类名,只需要知道所对应的工厂即可,具体的产品对象由具体工厂类创建;
2025-09-02 19:31:01
672
原创 实验4-HTTP协议的运行过程
这个转换是必要的,因为网络层协议——IP协议,是通过类似220.181.97.122这样的点分十进制地址来表示因特网主机的,而不是通过mail.tju.edu.cn这样的域名。我们可以分别选中不同的连接,“右键->追踪TCP流”,显示的数据是空的表示无效的TCP连接,不为空的是有效的TCP连接。注:由于现在网页的变化,例如,网页使用HTTPS协议而不是HTTP协议,因此,有时候在Wireshark中抓取的HTTP响应分组可能会不完整,例如,HTTP/1.1 302而不是HTTP /1.1 200 OK。
2025-09-02 19:21:44
831
原创 实验3-传输层协议分析
观察下图给出的分组41的信息,注意到分组41的确认号字段在Wireshark的协议框中显示为1,并且在原始框中的值是“59 db 64 b0”(比“59 db 64 af”多1)。从上图可以看出,上图操作执行了建立连接、发送数据和释放连接等三个阶段,其中,分组40-42是建立连接阶段的分组,对应于三次握手,分组43是发送数据阶段的分组,分组44-47是释放连接阶段的分组,对应于四次握手。注意,分组43里的序号是1,长度为1024,也就是说,分组43里面有1024字节,它们的编号是1-1024。
2025-09-02 19:19:48
649
原创 实验2-网络层协议分析
二者的目的MAC地址是什么?二者的目的MAC地址都是30:c6:d7:c6:32:01,它们一致。到达第3跳的时延方差为12.67ms,到达第4跳的时延方差为0.22ms,到达第13跳的时延方差为0ms,所以到达第3跳的时延方差最长。另外,分组2106的源MAC地址和目的MAC地址分别是,9c:7b:ef:43:a2:f9和30:c6:d7:c6:32:01。到达第3跳的平均时延为6ms,到达第4跳的平均时延为1.67ms,到达第13跳的平均时延为5ms,所以到达第3跳的平均时延最长。
2025-09-02 19:16:45
718
原创 实验1-数据链路层分析
ARP请求被发送到广播地址ff:ff:ff:ff:ff:ff。通过捕获的数据包分析ARP获取与IP地址对应的MAC地址的过程。针对ARP请求分组,此分组的序号是1228,发送方的IP地址是10.10.104.106,MAC地址是9c:7b:ef:43:a2:f9,此分组的目的MAC地址是ff:ff:ff:ff:ff:ff。分组869是从9c:7b:ef:43:a2:f9发送到9c:7b:ef:43:7b:b4。发送方的IP地址为10.10.104.107,MAC地址为9c:7b:ef:43:7b:b4。
2025-09-02 19:14:11
634
原创 【移动应用开发】--常见组件应用代码
java初始化后,String path = "android.resource://" + getPackageName() + "/" + R.raw.video;Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();// 获取拨打的电话号码。
2025-09-01 19:33:34
527
原创 【设计模式】--重点知识点总结
3、外观模式:为子系统的一组接口提供统一的界面,例。2、外观模式又称为门面模式,它是一种对象结构型模式。(2)目的:创建型模式、结构型模式和行为型模式。4、命令模式支持“在不同的时间指定请求、将请求。3、设计模式包含模式名称、问题、解决方案、效果。4、建造者模式:(1)用户只指定复杂对象的。):要求能够共享的对象必须是细粒度对象,例。动态指定处理一个请求的对象集合(√),并。3、简单工厂模式:会增加系统中类的个数。6、可以以“_”开头,但不能有空格!5、抽象工厂模式增加新产品族方便,但。
2025-09-01 19:31:08
557
原创 【软件工程】期末复习
(2)获取:收集需求、质量功能部署(QFD,用户需求->系统需求)、导出工作产品。(1)起始:确定利益相关者、基本问题范围和解决方案的基本理解。,密码,姓名,手机号,地址,身份证号,折扣数,用户类型),电话,地址,身份证号,折扣数,顾客类型)(1)与软件本身的特点有关(2)与软件。,商品名称,单价,生产日期,厂商),电话,地址,顾客类型),订单时间,订单总金额,,订单时间,订单总金额)1、软件危机产生的原因。,订单编号,商品编号),用户账号,商品编号),身份证号,折扣数)
2025-09-01 19:25:48
307
原创 LeetCode 回文链表
本题的思路:首先利用快慢指针将链表一分为二,对第二段进行反转后,进行比较。,请你判断该链表是否为。指向的是第一段最后的元素)给你一个单链表的头节点。
2025-08-21 22:54:35
327
原创 LeetCode 反转链表
给你单链表的头节点head,请你反转链表,并返回反转后的链表。指针,初始为空(注意是大写),然后设立一个。哈哈 一点思路也没有。
2025-08-21 22:53:56
354
原创 LeetCode 相交链表
(2)两个链表如果有交点,最后肯定会同时走向交点。即使交点前两链表节点数量不同,但是开始走的多的指针,以另一个链表开头的话,就走的少了。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。(1)如果两个链表无交点(即使长度不同)的话,最后都会同时等于空指针,退出循环。如果程序能够正确返回相交节点,那么你的解决方案将被。设立两个指针,刚开始都指向头部。评测系统将根据这些输入创建链式数据结构,并将两个头节点。,函数返回结果后,链表必须。的输入如下(你设计的程序。给你两个单链表的头节点。
2025-08-21 22:52:31
262
原创 LeetCode N皇后
按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。这道题的难点在于判断皇后的位置是否合理:不能在同一列、同一行、同一对角线上。如何判断是否在同一对角线呢?很巧妙的要来了,跟横纵坐标相关呀~的棋盘上,并且使皇后彼此之间不能相互攻击。,返回所有不同的 **n。的棋子放置方案,该方案中。每一种解法包含一个不同的。分别代表了皇后和空位。
2025-08-12 23:01:57
406
原创 LeetCode 分割回文串
2、每一个字符后都设想有一个分割点,枚举每个分割点,满足条件就放入temp数组中,然后进行下一次分割。分割成一些 ,使每个子串都是。1、判断回文字符串:双指针+所有可能的分割方案。
2025-08-12 23:00:55
305
原创 LeetCode 单词搜索
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。此题转移方向不必像bfs那样定义direction数组,直接往dfs()函数里传变化的坐标值。至于剪枝的话,不能等到长度一致了再比较,遍历的同时就直接比较每个字符。每个点都可作为起点,不一定非得从0,0开始。搜索的dfs,四个方向都深度优先遍历一下。
2025-08-11 11:16:35
170
原创 LeetCode 括号生成
代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。感觉这道题重要的是弄懂“如何判断括号是有效的”,第一个位置永远放的都是左括号,每对组合里都是。
2025-08-10 22:14:52
450
原创 LeetCode 组合总数
当叶子结点<0时,回溯;当叶子结点=0时,加入结果集中,回溯。如果至少一个数字的被选数量不同,则两种组合是不同的。因为可能出现重复组合,所以此题需要。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。
2025-08-10 22:13:46
365
原创 LeetCode 电话号码的字母组合
取数字,遍历,取个对应字符;取完看下一个数字(即开始下一层dfs);给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。数字和字符串的对应关系,用数组存储即可。注意添加上0对应的空字符串。的字符串,返回所有它能表示的字母组合。突然发现,好像画了树以后,更加好理解了…
2025-08-10 11:22:55
221
原创 LeetCode 搜索二维矩阵
矩阵边长范围不大,本想侥幸试试,不曾想不曾想,竟然通过了…一定要放最后,否则就可能造成越界。编写一个高效的算法来搜索。里面的判断语句,涉及。
2025-08-10 10:15:33
188
原创 LeetCode 子集
每个元素都有”选“或”不选”两种可能性,使用递归:(1)先把元素放进去,再dfs(2)回溯后不选择该元素。返回该数组所有可能的(幂集)。
2025-08-10 10:13:51
271
原创 LeetCode 全排列
从而继续下一次迭代。只有当循环条件不满足时,函数才真正返回。仍然保持原值,for 循环会接着判断。给定一个不含重复数字的数组。之后代码并没有结束,只是。我的一大迷点,终于解决了。
2025-08-10 10:12:57
293
原创 【移动应用开发】期末复习
新增了全局黑暗模式、对可折叠设备的支持、对 5G 网络的支持、对 Wi-Fi 6 的支持、位置权限控制功能,更加细粒度地控制应用程序访问位置信息、后台应用权限控制功能、沙盒机制(一个app崩了不影响其他)新增了手势导航(左滑返回)、暗色模式、数字健康(今天手机用时)、对人工智能的支持、多摄像头系统的支持、对 Wi-Fi RTT 的支持(室内定位)新增了对话通知功能(将聊天信息置于其他通知之上)、媒体控制功能(方便控制音乐、视频等媒体播放)、屏幕录制功能、一次性权限功能、位置信息保护功能。
2025-08-09 10:45:14
560
原创 【进位】天大预推免
很多学生在学习加法时,发现”进位“特别容易出错。你的任务是计算两个整数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,每个输入样例占一行,包含两个长度不超过1000的数。输入的数字可能包含前导0,即输入可能为"0123"。在计算两个数相加时,难免会产生进位。求出两个数相加产生了多少次进位。的上限约是2000000000,可以保存所有9位整数,因此可以用整型。对于每个样例,输出一个数表示产生的进位数。假设输入的整数都不超过9位。分别模10就能获取它的最低位。
2025-08-08 18:50:20
161
原创 LeetCode 螺旋矩阵
顺时针旋转分为右、下、左、上,其实就是四个边界的确定及实时更新。看了视频才学会的思路,很amazing。,返回矩阵中的所有元素。
2025-08-01 19:49:32
140
原创 LeetCode 实现Trie(前缀树)
还蛮有成就感滴~刚开始还一直困惑如何一个循环就把行和列都置零了,死死想不通…,则将其所在行和列的所有元素都设为。同时注意将列置0时,列循环在外层(的矩阵,如果一个元素为。
2025-08-01 18:08:51
259
原创 LeetCode 实现Trie(前缀树)
是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。(发音类似 “try”)或者说。刚开始连前缀树是啥都不知道…借用一下B站UP主的图。
2025-08-01 17:20:37
364
原创 LeetCode 腐烂的橘子
直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。是整数类型的数组,我在判断值时却写成了。不得不说,自己的细节问题,还是蛮大的。的新鲜橘子都会腐烂。
2025-07-31 11:32:34
188
原创 LeetCode 岛屿数量
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。很经典的一道bfs题呀~四个方向找连通,几乎就是板子。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。n × m 的二维布尔数组,初始值为。
2025-07-31 10:24:50
131
原创 LeetCode 最小覆盖子串
(因为右移左边界的同时,也可能是满足条件的子串,所以此处用了。所有字符的子串,则返回空字符串。所有字符的最小子串。
2025-07-28 18:16:48
126
原创 LeetCode 滑动窗口最大值
在队头/队尾都可以进行删除/插入操作,而普通队列。2.如果将要插入的数大于队尾,则依次移除数小的队尾。也当成字符混在里面了,字符串就乱了。只能在队尾进行插入,队头进行删除。内的下标值不在当前滑动窗口的情况。将整数数组直接转换为字符串…是下标4,k=4,那么0不该在。
2025-07-25 20:23:08
235
原创 LeetCode 和为K的子数组
前缀和:包括自身(P238不包括自身,是由于题目条件限制)枚举左右边界的写法(刚开始不理解怎么求。子数组是数组中元素的连续非空序列。就是用于记录某个键,存在几次。(前缀和-k)是否存在于。
2025-07-25 15:03:39
115
原创 【大数据开发实践】期末复习
(1)从整体上看,大数据与云计算是相辅相成的大数据着眼于“数据”,关注实际业务,提供数据采集分析挖掘,看重的是信息积淀,即数据存储能力。云计算着眼于“计算”,关注 IT 解决方案,提供 IT基础架构,看重的是计算能力,即数据处理能力。没有大数据的信息积淀,则云计算的计算能力再强大,也难以找到用武之地;没有云计算的处理能力,则大数据的信息积淀再丰富,也终究只是镜花水月。(2)从技术上看,大数据根植于云计算云计算关键技术中的海量数据存储技术、海量数据。
2025-07-24 21:10:25
522
原创 【计算机网络】可供期末复习使用
域名解析方法:如果主机询问的本地域名服务器不知道被查询域名的IP地址,然后本地域名服务器可以采用递归查询(靠别人)、迭代查询(靠自己)(3)IPv4到IPv6的过渡:双协议栈(主机/路由器同时具有IPv4地址和IPv6地址,传送时更改首部)、隧道技术(封装数据)(2)IP数据报中的源IP地址和目的IP地址一直不变,但MAC帧的源MAC地址和目的MAC地址会变化,见3。(1)分为动态路由选择策略(适用于复杂的大网络)和静态路由选择策略(手工配置,适用于简单的小网络);UDP17,TCP6。
2025-07-24 21:01:15
669
原创 LeetCode 找到字符串中所有字母异位词
本文提出了一种高效查找字符串中所有字母异位词的方法。通过滑动窗口和哈希映射技术,避免了暴力解法中重复排序的低效操作。算法使用两个哈希表分别记录目标字符串和窗口内的字符频率,通过移动窗口边界并动态更新匹配状态来寻找符合条件的子串。当窗口内字符频率与目标完全匹配时,记录起始位置。该方法将时间复杂度优化为O(n),显著提升了处理长字符串时的性能,适用于大规模字符串匹配问题。
2025-07-24 20:16:41
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人