倪春恩的博客
offer2-36 offer2-36
有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:tok
2023-04-29
【转载】设计模式:桥接模式 【转载】设计模式:桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类
2023-04-28
offer2-35 offer2-35
给定一个 24 小时制(小时:分钟 **”HH:MM”**)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:tim
2023-04-28
offer2-34 offer2-34
某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 tru
2023-04-27
【转载】设计模式:代理模式 【转载】设计模式:代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在
2023-04-26
offer2-33 offer2-33
给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。 注意:若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。 示例 1: 输入: strs = ["eat", "tea", "tan", "at
2023-04-26
offer2-32 offer2-32
给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同且字符顺序不完全相同,则称 *s* 和 *t* 互为变位词(字母异位词)。 示例 1: 输入: s
2023-04-25
【转载】设计模式:享元模式 【转载】设计模式:享元模式
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对
2023-04-24
offer-61 offer-61
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 示例 1: 输入: [1,2,3,4,5]
2023-04-24
offer-59-2 offer-59-2
请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1
2023-04-23
29 / 50