练习
文章平均质量分 81
以己之
小小的代码,大大的梦想
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
15.三数之和
本文介绍了LeetCode三数之和问题的解法。题目要求在数组中找出所有不重复的三元组,使其和为0。作者通过分析暴力解法的时间复杂度(O(n³))过高,提出优化思路:先将数组排序,固定一个数后转化为两数之和问题(O(n²))。具体实现中,使用双指针法在剩余数组中寻找两数之和等于固定数的相反数,并通过循环跳过重复元素以避免重复解。关键点包括:必须排序数组、处理重复数据时注意边界条件、双指针不能交叉。代码实现展示了如何通过排序和双指针技巧高效解决该问题,同时处理了各种重复情况。原创 2025-10-26 19:49:58 · 993 阅读 · 0 评论 -
LCR 179.查找总价值为目标值的两个商品
文章摘要:本文介绍了LeetCode上"和为s的两个数字"问题的解法。作者首先尝试暴力解法(双重循环遍历),但发现超时。随后提出更优的双指针算法:先对数组排序,然后用两个指针分别指向首尾元素,通过比较当前和与目标值的大小关系移动指针。当和等于目标值时返回结果。该算法时间复杂度优于暴力解法,并附有Java代码实现。欢迎读者提出更高效的解决方案。原创 2025-10-26 17:08:59 · 410 阅读 · 0 评论 -
611有效的三角形个数
本文介绍了LeetCode上判断有效三角形数量的算法思路。首先分析暴力解法三层循环不可行,进而提出排序后使用双指针优化的方法。核心思路是:排序后固定最大边,用双指针判断较小的两边之和是否大于最大边。若成立,则中间所有组合都成立,直接计算数量;否则移动指针调整组合。该算法时间复杂度为O(n²),比暴力解法更高效。最后给出了Java代码实现,并提醒注意边界条件和多种情况的处理。原创 2025-10-25 16:34:35 · 970 阅读 · 0 评论 -
11.盛最多水的容器
本文介绍了LeetCode上"盛最多水的容器"问题的解题思路。题目要求在给定数组中找到两条线,使其与x轴构成的容器能容纳最多的水。作者首先分析了暴力解法效率低的问题,进而提出双指针优化方案:初始化左右指针分别指向数组两端,计算当前容积后,移动较小高度的指针以寻找可能更大的容积。这种方法通过减少不必要的比较,将时间复杂度优化至O(n)。文章包含详细的图解说明和Java代码实现,帮助理解双指针算法的正确性。原创 2025-10-24 23:27:39 · 898 阅读 · 0 评论 -
202.快乐数
这篇文章介绍了如何判断一个数是否为快乐数。快乐数的定义是将一个数的各位数字平方后相加,重复这个过程直到结果为1(即为快乐数),或者进入无限循环(非快乐数)。文章提出使用快慢指针算法来检测循环,将数字转换后的平方和视为指针。快指针每次计算两次平方和,慢指针计算一次,两者最终会在循环中相遇。若相遇时的值为1则是快乐数,否则不是。代码实现展示了如何通过计算各位平方和及快慢指针判断快乐数。原创 2025-10-24 22:13:57 · 505 阅读 · 0 评论 -
NC313 两个数组的交集
本文讨论了如何高效求解两个数组的交集问题。作者首先通过分析题目要求,指出使用哈希表存储第一个数组元素,再遍历第二个数组查找重复元素的基本思路。针对可能出现重复结果的问题,提出了在添加到结果列表后立即从哈希表删除该元素的解决方案。此外,作者提出使用布尔数组代替哈希表进行优化,通过数组下标直接映射元素存在状态,从而提升小范围数据的处理效率。最后给出了具体的Java代码实现,其中利用布尔数组标记元素出现情况,并确保结果不重复。文章邀请读者分享更高效的算法方案,体现了共同进步的学习态度。原创 2025-10-16 21:16:26 · 512 阅读 · 0 评论 -
BC153 数字统计
本文介绍了如何统计给定区间内数字2出现的次数。通过枚举区间内的每个数字,对每位数字进行取模和除法运算,逐位检查是否为2。代码实现简单,时间复杂度为O(n),适用于小数据范围。关键点在于正确处理边界值和逐位检查的方法。最终输出区间内所有数字包含2的总次数。原创 2025-10-16 20:38:31 · 206 阅读 · 0 评论 -
NC40 链表相加(二)
这篇文章探讨了链表相加问题的两种解决方案。第一种方法是将链表转换为字符串相加后再重建链表,第二种方法是通过链表逆置来实现从低位到高位的加法运算。文章重点介绍了链表逆置的实现细节,包括使用头插法和注意事项(如节点移动时的边界条件)。最终给出的代码实现了链表逆置和逐位相加的功能,并强调了要从头节点的下一个节点开始逆置。整体而言,文章将问题核心聚焦于链表逆置这一关键操作上。原创 2025-10-12 18:12:01 · 479 阅读 · 0 评论 -
牛客:大加法数
本文介绍了如何实现字符串数字相加的算法。原创 2025-10-12 17:16:35 · 421 阅读 · 0 评论 -
JavaSE试题总结
Java练习题总结原创 2024-11-26 15:45:00 · 853 阅读 · 0 评论 -
刷题——字符串中的单词数(力扣)
字符串的单词数——力扣原创 2024-11-25 12:41:46 · 526 阅读 · 0 评论 -
Java实现字符串相加
力扣题:字符串相加原创 2024-11-24 19:09:52 · 1488 阅读 · 0 评论 -
Java实现两数交换
在Java中,因为没有地址的说法,因此无法直接通过传地址达到两数交换的效果,Java中的基本数据类型是存储在栈空间上的,而栈空间的地址是无法直接拿到的,在栈空间上存储的地址都是局部变量,当方法结束后变量就会被JVM直接回收,这也就意味着只要是存储在栈空间上的变量都无法做到两数交换。原创 2024-11-19 22:26:53 · 1310 阅读 · 0 评论
分享