自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 头歌JAVA设计模式——装饰器模式

创建装饰基类, 使用一个成员变量存储指向被封装对象的引用。该成员变量必须被声明为组件接口类型, 从而能在运行时连接具体组件和装饰。某系统的读写文件模块,最初的业务逻辑类仅能读取和写入纯文本的数据。现状系统需要进行安全升级,写数据需要先压缩再加密,读数据需要先解压缩再解密还原。具体装饰必须在调用父类方法 (总是委派给被封装对象) 之前或之后执行自身的行为;CompressionDecorator:具体的字符串压缩/解压缩装饰类;EncryptionDecorator:具体的字符串加密/解密装饰类。

2025-03-22 00:34:41 1368

原创 LeetCode hot 100【两数之和】

这意味着每次执行内层循环时都会调用一次 nums.size() 方法来获取数组的大小。虽然 std::vector::size() 是一个常数时间操作(O(1)),因为它只是返回一个内部维护的成员变量的值。暴力解法,双重循环遍历第 i 个和 i + 1 到 nums.size() - 1,时间复杂度O(因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。哈希表解法,时间复杂度为O(n,耗时不到1ms。

2025-03-20 22:21:12 541

原创 头歌JAVA设计模式——组合模式

使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件 TextFile,图片文件 ImageFile、视频文件 VideoFile。在该类中, 创建一个数组成员变量来存储对于其子元素的引用。”,并将各自构造函数中的“this.fileName = fileName;但是,这可以让客户端无差别地访问所有元素, 即使是组成树状结构的元素。最后, 在容器中定义添加和删除子元素的方法。

2025-03-20 00:18:03 1438

原创 头歌JAVA设计模式——适配器模式

现有一个接口 DataOperation 定义了排序方法 sort(int[]) 和查找方法 search(int[],int),已知类 QuickSort 的 quickSort(int[]) 方法实现了快速排序算法,类 BinarySearch 的 binarySearch(int[],int) 方法实现了二分查找算法。本关任务:现使用适配器模式设计一个系统,在不修改源代码的情况下将类 QuickSort 和类 BinarySearch 的方法适配到 DataOperation 接口中。

2025-03-19 00:19:59 564

原创 头歌JAVA设计模式——单例模式

本任务有三个文件“Login.java”、“Client.java”和“Singleton.java”,在右侧编辑器 Begin-End 内补充 Singleton 中代码,其它文件请阅读代码。在企业网站后台系统中,一般会将网站统计单元进行独立设计,比如登录人数的统计、IP 数量的计数等。在这类需要完成全局统计的过程中,就会用到单例模式,即整个系统只需要拥有一个计数的全局对象。该方法会在首次被调用时创建一个新对象, 并将其存储在静态成员变量中。将类的构造函数设为私有。本关任务:模拟网站登录,高并发场景。

2025-03-18 22:47:15 470 1

空空如也

空空如也

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

TA关注的人

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