倪春恩的博客
offer2-21 offer2-21
给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例
2023-03-31
【转载】设计模式:适配器模式-以手机充电器为例 【转载】设计模式:适配器模式-以手机充电器为例
老样子,定义:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。 发现两张图片可以很好的解释适配器模式: 这两张图很好的说明了适配器的作用哈,话说
2023-03-30
offer2-20 offer2-20
给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:s = "abc" 输出:3 解释:三个回文子串: "a", "b", "c
2023-03-30
【转载】设计模式:策略模式-以角色游戏为背景 【转载】设计模式:策略模式-以角色游戏为背景
先来看看策略模式的定义: 策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。 好了,对于定义,肯定不是一眼就能看明白的,不然这篇文章就收尾了,对于定于大家
2023-03-29
offer2-19 offer2-19
给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。 示例 1: 输入: s = "aba" 输出: true 示例 2: 输入: s = "abca" 输出: true 解释: 可以删除 "c" 字符
2023-03-29
offer2-18 offer2-18
给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s = "A man, a plan, a canal: Panama" 输出:
2023-03-28
【转载】设计模式:单例设计模式(Singleton Pattern)完全解析 【转载】设计模式:单例设计模式(Singleton Pattern)完全解析
什么会有单例设计模式? 我们都知道单例模式是在开发中用的最多的一种设计模式,那么究竟为什么会有单例设计模式呢?对于这个问题相信有很多会写单例的人都会有个这个疑问。在这里先说一下单例的用途,然后举一个例子大家就会明白为什么会有单例了。单例模式
2023-03-27
offer2-17 offer2-17
给定两个字符串 s 和 t 。返回 s 中包含 t 的所有字符的最短子字符串。如果 s 中不存在符合条件的子字符串,则返回空字符串 "" 。 如果 s 中存在多个符合条件的子字符串,返回任意一个。 注意: 对于 t 中重复字符,我们寻找的子
2023-03-27
【转载】设计模式:工厂模式-从卖肉夹馍说起 【转载】设计模式:工厂模式-从卖肉夹馍说起
今天继续设计模式之旅,给大家带来工厂模式,简单列一下这个模式的家族: 1、静态工厂模式 2、简单工厂模式 3、工厂方法模式 4、抽象工厂模式 是不是觉得,我勒个去,这工厂还能列出这么多分类,哈哈,下面开始各个击破。 1、静态工厂模式 这个最
2023-03-24
offer2-16 offer2-16
给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3。 示例 2: 输入: s
2023-03-24
32 / 50