- 博客(15)
- 收藏
- 关注
原创 Java的设计模式
装饰者模式(Decorator Pattern):动态地给一个对象添加一些额外的职责,即在不改变原有对象的情况下,动态地给一个对象增加一些额外的功能。抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。建造者模式(Builder Pattern):将一个复杂对象的构建分离成多个简单对象的构建过程,以便更好地组合和复用。外观模式(Facade Pattern):为子系统中的一组接口提供一个统一的接口,以便更容易地使用该子系统。
2023-09-14 09:28:36 118 1
原创 力扣热题100-移动零
右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。因此每次交换,都是将左指针的零与右指针的非零数交换,且非零数的相对顺序并未改变。使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针左边直到左指针处均为零。左指针左边均为非零数;
2023-08-29 13:41:14 157
原创 力扣热题100-字母异位词分组
需要注意的是,在使用数组作为哈希表的键时,不同语言的支持程度不同,因此不同语言的实现方式也不同。由于互为字母异位词的两个字符串包含的字母相同,因此两个字符串中的相同字母出现的次数一定是相同的,故可以将每个字母出现的次数使用字符串表示,作为哈希表的键。由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表的键。跟方法一比key不一样(不推荐)
2023-08-28 13:17:04 66
原创 力扣热题100——两数之和
这样我们创建一个哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。使用哈希表,可以将寻找 target - x 的时间复杂度降低到从 O(N)O(N)O(N) 降低到 O(1)O(1)O(1)。
2023-08-28 12:59:19 51
原创 删除排序数组中的重复项 I和II
对后面的每一位进行继续遍历,能够保留的前提是与当前位置的前面 k 个元素不同(答案中的第一个 1),因此我们会跳过剩余的 1,将第一个 2 追加,得到 1,1,2。这时候和答案中的第 1 个 2 比较,只有与其不同的元素能追加到答案,因此剩余的 2 被跳过,3 被追加到答案:1,1,2,2,3。对于后面的任意数字,能够保留的前提是:与当前写入的位置前面的第 k 个元素进行比较,不相同则保留。继续这个过程,这时候是和答案中的第 2 个 1 进行对比,因此可以得到 1,1,2,2。,返回删除后数组的新长度。
2023-08-15 21:08:51 80 1
原创 面试经典 150 题-移除元素
你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0,注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。因为不用管新数组长度之后的元素。函数应该返回新的长度。
2023-08-13 17:59:43 35 1
原创 腾讯音乐秋招笔试编程题第一道
给定一个只包含小写字母字符串,每次可以选择两个相同的字符删除,并在字符串结尾新增任意一个小写字母。第一次把2个a变成f,第二次把2个b变成b。得到fb,每个字母都不相同,最少操作次数为2。请问最少多少次操作后,所有的字母都不相同?count计算还有多少个字母没用。map计算26个字母的使用情况。
2023-08-13 16:30:46 117 1
原创 笔试选择练习题-2023/8/13
{5,2,3,4,1}-1次(比较5)->{2,5,3,4,1}-2次(比较2、5)->{2,3,5,4,1}-2次(比较3、5)->{2,3,4,5,1}-4次(比较2、3、4、5)->{1,2,3,4,5},所以一共比较1+2+2+4 = 9次。冒泡排序: 每一趟每两个相邻元素都要进行比较,对于n(n=5)个元素的序列,第一趟需要比较n-1次,第二趟比较n-2次…最后一趟1次,所以一共是(n-1)+(n-2)+...+1=n(n-1)/2=10次。对于慢查询sql中出现的所有的查询条件字段增加索引。
2023-08-13 15:25:42 186 1
原创 分蛋糕-招商银行信用卡中心春招实习生技术岗A卷
总共有n个盘子,每种蛋糕能够整除均分到各个盘子里,要求一个盘子里面不能含有两种蛋糕,每个盘子至少含有2块蛋糕,所有的蛋糕必须放到盘子里面去。榴莲蛋糕被分成了4块,冰淇淋蛋糕被分成了6块,分别放到3个盘子里面去,要求每个盘子至少含有2块蛋糕,榴莲蛋糕分为2个2块的,分别放进2个盘子,冰淇淋蛋糕6块全部直接放进1个盘子,最少2块,返回2。榴莲蛋糕被分成了5块,冰淇淋蛋糕被分成了4块,分别放到2个盘子里面去,1个盘子5块榴莲蛋糕,1个盘子4块冰淇淋蛋糕,1个盘子里最少4块蛋糕,返回4。
2023-08-13 11:27:58 222 1
原创 小招喵买鞋-【2022】招商银行信用卡中心春招实习生技术岗A卷
小招喵来到了商场,在柜台上初步挑选了 n 双鞋子,编号为 1 ~ n,其中,第 i 双鞋的售价为 ai,实用价值可以量化为 bi,擅长心算的小招喵马上就意识到,这是家黑店,售价与实用价值并不成比例。小招喵更换第二双鞋子和第四双鞋子的价格标签,此时,第二双鞋子售价为3,实用价值为4,而第四双鞋子售价为6,实用价值为1,小招喵花4元买第二双和第三双鞋子,花费共4元,实用价值为8.小招喵出生自大家族,这一天,小招喵拿到了生涯中的第一桶金,他就想给族人买鞋子,但是,为了后续生计,小招喵最多花费 m 元。
2023-08-13 10:56:11 166 1
原创 最长公共子数组
输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7] 输出:3 解释:长度最长的公共子数组是。给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度。
2023-08-12 21:13:59 116 1
原创 java秋招笔试-游戏中弱角色的数量
如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色。输入:properties = [[1,5],[10,4],[4,3]]输入:properties = [[5,5],[6,3],[3,6]]解释:第一个角色是弱角色,因为第二个角色的攻击和防御严格大于该角色。解释:第三个角色是弱角色,因为第二个角色的攻击和防御严格大于该角色。输入:properties = [[2,2],[3,3]]解释:不存在攻击和防御都严格高于其他角色的角色。返回 弱角色 的数量。
2023-08-12 20:44:03 50 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人