- 博客(5)
- 收藏
- 关注
原创 力扣题:3. 无重复字符的最长子串
然后开始分析如何处理重复字符,比如字符串abcabcbb,我们最早遇到的重复字符串是第四个字符a,去除前面的重复字符之后的字符,是直接和当前字符连在一起的,那么我们可以发现,每次遇到重复字符,我们可以将已经存入但是重复的字符和其前面已经存入的字符一起去除,然后在存入当前读取的字符,然后再以此往后读取,这样取其中最长的字符,我们可以使用max函数。前者我觉得更加方便一点,后者比较省空间。总结,这里利用了哈希函数,和数学函数。
2024-11-04 17:03:55 201
原创 力扣题:11. 盛最多水的容器
思考一下,怎么求最多的水,是不是底乘以高,底是好求的,即两端相减就行。那么高呢,是不是木桶原则,两端用短边相乘?所以我们应该尽可能将短边变成,另外一边不懂,来取最大值。所以总结一下,底好求,两边下标相减,只要求边,哪边更短动那边就行了。我的理解是,其实这就是一道数学题,怎么求装最多的水的问题。
2024-11-04 16:03:40 171
原创 力扣题:1. 两数之和
如果直接将所有的nums数组的值输入哈希表中的话,其中的重复的值会被覆盖,导致错误,因为HashMap的键值是不允许重复的,而这里使用的nums数组的值作为键值,序号作为值,而nums中的值是有重复的,当遇见需要两个相同的值时,会发生错误。当然了再不需要两个相同的值,或者只需要两个相同值的一个时,都是不受影响的(题目提示答案唯一)。先将第一个数组的值输入哈希表中,再通过接下来target减去下一个数组的值,得到差,再放到哈希表中查询,以此循环,找到之后进行输出。空间复杂度为O(N^2)空间复杂度为O(N)
2024-10-03 16:19:28 137
原创 经典排序(Java)(更新、学习中)
冒泡排序是经典排序中最为简单的排序,通过两两循环比较进行排序,不断将最大数或者最小数往前排或者往后排。通过改变 i 和 j 的值来实现不一样的排序结果,来完成自己的目的。
2024-10-03 15:17:22 178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人