- 博客(33)
- 收藏
- 关注
原创 【从零学习SSM】|第三篇
学习内容来自于黑马的SSM学习。从零学习SSM,目前是spring内容。这内容主要是 IOC/DI配置管理第三方bean。
2025-03-14 02:14:40
939
原创 [LeetCode热门100题]|137,260,268,面试17.19
137 只出现一次数字||,260只出现一次数字|||,268丢失的数字,面试17.19消失的两个个数字
2025-03-13 18:37:32
954
原创 【抽奖项目】|第三篇
高并发的活动预热肯定不可以在数据库操作,需要redis,特别是这种秒杀活动更是需要注意,所以可以在高并发的前夕先进行活动预热。
2025-03-12 21:47:46
1128
原创 【抽奖项目】|第二篇
高并发的活动预热肯定不可以在数据库操作,需要redis,特别是这种秒杀活动更是需要注意,所以可以在高并发的前夕先进行活动预热。
2025-03-12 20:58:32
205
原创 【抽奖项目】|第一篇
用户登录写在session,可以在request中获取,然后使用redis判断密码错误的次数。Session详解,学习 Session对象一篇文章就够了_session撖寡情-优快云博客。项目是使用spring集成session,可以看这个博主的这篇文章。刚刚开始不理解读到这篇文章以后都明白了。前言:项目的抽奖系统。
2025-03-12 20:32:38
383
原创 【从零学习SSM】|第二篇
学习内容来自于黑马的SSM学习。从零学习SSM,目前是spring内容。这内容主要是 IOC/DI配置管理第三方bean。
2025-03-09 17:47:03
809
原创 [从零学习SSM]|第一篇
核心思想是将对象的创建和依赖管理交给外部容器或框架,而不是由对象自身控制。传统方式中,对象自行创建和管理依赖,而IOC将这一过程反转,由外部容器负责对象的创建和依赖注入。其实就是之前是自己new的,现在是通过外部获取对象。
2025-03-07 15:35:12
977
原创 LeetCode 560.和为k的子数组
给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的子数组的个数。子数组是数组中元素的连续非空序列。
2025-02-19 18:10:02
304
原创 LeetCode 238.除自身以外数组的乘积
给你一个整数数组nums,返回 数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请且在O(n)时间复杂度内完成此题。
2025-02-18 23:29:59
293
原创 LeetCode 724.寻找数组的中心下标
给你一个整数数组nums,请计算数组的。数组是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回的那一个。如果数组不存在中心下标,返回-1。
2025-02-18 17:56:47
177
原创 LeetCode 173.0-n-1缺失的数字
比如 [0,1,2,3,5 ] 应该是 (0+5)*6/2 因为正常是[0,1,2,3,4,5] 0是首项,5是尾项,有6个数就是项数。使用高中学过的求和公式 ((首项+尾项)*项数)/2 和 数组中的值比较 缺少的那个就是返回的学号。比如[0,1,2,3,4] 应该是 (0+5)*6/2 因为只有一个人缺少所以尾项是5,正常也是0-6。我们可以发现正常的下标对应数组中的数是一样的,所以我们可以。当mid等于records.[mid]的时候 是mid的左边没有问题,所以是右边的缺少。
2025-01-21 14:49:34
148
原创 LeetCode 153.搜索旋转排序数组中的最⼩值
根据题目分析我们可以知道本体是旋转其实就是把,前面的一段数组,拼接在B后面。我们可以用每次的nums[mid]的值和D点比较,当nums[mid]>D说明在A、B区间,left=mid+1。当nums[mid]<D,说明在C、D区间,right=mid。这里righjt不-1,是因为C点是我们需要找的点,此时的nums[mid]可能就是C点,如果mid-1就会错过。,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。遍历一次数组找最小的数即可。的数组,预先按照升序排列,经由。
2025-01-20 10:55:57
260
原创 LeetCode 852.山脉数组的峰顶索引
(2)比如left=2,right=3,mid=2,如果是mid=(left+right+1)>>>1时,mid=3,此时还是if(arr[mid]>arr[mid-1])left=mid;(1)比如left=2,right=3,mid=2,如果是mid=(left+right)>>>1时,mid=2,此时还是if(arr[mid]>arr[mid-1])left=mid;和mid=(left+right+1)>>>1;你必须设计并实现时间复杂度为。
2025-01-19 18:44:51
360
原创 LeetCode 69.x的平方根
使用二分查找,根据题目当我们找不到目标值,就返回整数部分,也就是我们需要返回较小的那个整数,所以我们返回最后结果left,其他就是正常的二分查找。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。
2025-01-17 16:28:17
138
原创 LeetCode 35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。使用二分查找,其实最后是寻找m的位置,然后在判断是返回数组的现在下标还是右边。请必须使用时间复杂度为。
2025-01-16 17:07:28
236
原创 LeetCode 34.在排序数组中查找元素的第一个和最后一个位置
寻找左边界==情况下,需要进一步减小范围,因为此时可能mid指针下的值可能是第一个出现也可能不是,他的第一次出现的值一定在[left,mid-1]寻找右边界==情况下,需要进一步减小范围,因为此时可能mid指针下的值可能是最后一个出现也可能不是,使用需要查找的范围是[left,mid-1]根据题目是一个有序的数组,并且是查找左边界和右边界,可以使用二分查找。可以有暴力法和二分法,但是暴力法本文章就不叙述了,主要讲解二分法。其实这题是本质就是和正常的二分查找一样,只不过在==条件下,在。
2025-01-15 11:43:06
212
原创 LeetCode 704.二分查找
定义left = 0和right = nums.length;这样定义表示right 指针指向的区间不在取值范围,所以while(left
2025-01-14 22:20:01
257
原创 LeetCode 76.最小覆盖字串
可以学习这题用于计算总类的思路,剩下就是滑动窗口。使用滑动窗口+哈希表(数组代替)所有字符的子串,则返回空字符串。所有字符的最小子串。
2025-01-14 02:02:36
314
原创 LeetCode 30.串联所有单词的字串
并且使用count来记录窗口中的字母的种类和个数。当count中记录的种类和个数和p的种类和个数一样就可以更新结果。可以把s中的每len = word[0].length的长度看成是一个字符。指出,所以s中长度是每word[0].length是一个字符,把长度是word[0].length看成是一个字符。⽆⾮就是之前处理的对象是⼀个⼀个的字符,我们这⾥处理的对象是⼀个⼀个的单词。异位词的长度是和p的长度是固定的。中所有字符串以任意顺序排列连接起来的子串。来解决,但是是固定大小的窗口。
2025-01-12 23:46:38
454
原创 LeetCode 438.找到字符串中所有字母异位词
hash1统计p中字符出现的种类和个数,hash2表示s出现的种类和个数。如果right的值比如是b,那么就寻找 hash2[right - 'a'] <= hash1[right - 'a'] 如果条件完成,就会表示目前是有效字符,count++。当count中记录的种类和个数和p的种类和个数一样就可以更新结果。count = 1,因为p中的a只出现一次,所以有效字母值a也只能出现一次,才是有效字符,当right=0是count++了。是连续的窗口,所以使用滑动窗口来解决,但是是固定大小的窗口。
2025-01-09 11:09:29
382
原创 LeetCode 904.水果成篮
做法:右端⽔果进⼊窗⼝的时候,⽤哈希表统计这个⽔果的频次。这个⽔果进来后,判断哈希表的 ⼤⼩: 如果⼤⼩超过2:说明窗⼝内⽔果种类超过了两种。如果没有超过2,说明当前窗⼝内⽔果的种类不超过两种,直接更新结果ret。左侧元素滑出窗口,并且该元素的所在数组的位置大小减一,并left移动一位,当所在的left元素对应的索引的值大小减少到0,,该元素从哈希表中删除,水果种类减少。而且上述的条件指出我们可以知道数组中的数字的大小和数字的长度有关。研究的对象是⼀段连续的区间,可以使⽤「滑动窗⼝」思想来解决问题。
2025-01-08 12:07:30
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人