力扣算法题(java版)
文章平均质量分 85
低调$(生活)
可以偶尔放松,但不可颓废自我
展开
-
力扣算法练习(四)
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。原创 2023-07-28 09:52:14 · 117 阅读 · 0 评论 -
力扣算法练习(三)
这是k神的解法,只能说看完以后,直接佩服,用字符缓冲区完美的解决了这个问题,我真的有点惯性思维了,第一时间只想到了二维数组。还有flag用的很妙。首先将字符串分割成数组并去掉首部空格,然后遍历,如果第一个为符号,则存入,然后匹配数字,不是数字则break。记rev 为翻转后的数字,为完成翻转,我们可以重复「弹出」xxx 的末尾数字,将其「推入」rev 的末尾,直至 xxx 为 000。这个是力扣上的官方解析,算法很好,首先列一个状态表,存入map,再遍历字符串,根据状态分别进行不同的判断。原创 2023-07-06 14:17:10 · 502 阅读 · 0 评论 -
力扣算法第一、二、三题
由于哈希查找的时间复杂度为 O(1),所以可以利用哈希容器 map 降低时间复杂度。遍历数组 nums,i 为当前下标,每个值都判断map中是否存在 target-nums[i] 的 key 值。如果存在则找到了两个值,如果不存在则将当前的 (nums[i],i) 存入 map 中,继续遍历直到找到为止。如果最终都没有结果则抛出异常。最终时间复杂度为o(n)原创 2022-09-21 16:52:43 · 881 阅读 · 1 评论