Latest Posts

文章

记录技术、生活和一些阶段性的想法。

算法学习2298 字132 阅读

算法分析-数组中的第K个最大元素

今天尝试:数组中的第 K 个最大元素。 给定整数数组 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 $O(n) $的算法解决此问题。 第一眼没认真读题——返回数组第 k 大的,那不就是排序后直接返回 不就行了。 提交通过,正好奇这个题为什么这么简单,仔细看题发现要求时间复杂度为 $O(n…

算法学习939 字192 阅读

算法分析-每日温度

今天继续研究算法:每日温度。 给定一个整数数组 ,表示每天的温度,返回一个数组 ,其中 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 一读题目感觉很简单,就只用操作一个数组,但是想优雅的完成,还是需要耗费一点脑细胞。 先写个暴力破解进入状态: 时间复杂度是 $O(n²) $(更具体来说是$n²/2$,大 O 里常数 1/2 被忽略)。 又遇…

算法学习726 字183 阅读

算法分析-相交链表

今天继续研究算法,是一个链表的题目,我对链表还不是很熟悉:相交链表。 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。你能否设计一个时间复杂度 O(m + n) 、仅用 O(1) 内存的解决方案? 开始我想的思路是,既然要相交节点的值,那么从尾巴往前遍历不就很方便了。但是忽略了这不是数组,单链表没有 指针,…

算法学习1412 字133 阅读

算法分析-三数之和

最近在学python,研究个算法来练练手:三数之和。 看题目我想出了两种思路: 思路1:列出所有可能的三元组,去重,计算和是否为0。比较暴力,可能的组合太多,消耗太大。 思路2:两两组合求和,再在剩余的数组中看是否有能加起来为0的项,消耗也不少,但是先试试。 双层遍历两两组合,使用拿到索引后,内部循环使用切片来避免重复组合。表示从索引的下一个位置开始到数组末尾的所有元素。 下一步是在数组中寻找是否…

日记739 字398 阅读

早上五点起床赶早口,结果还是空军的一天

周六 阴 这一周过得真慢,终于到周六了。自从上周没钓到鱼之后,潜心学习了一周的钓技,今天终于可以实操了。 昨天下班就收拾好装备,定好五点闹钟,今天早上准时起床直接出发了。天刚蒙蒙亮,环卫工人已经开始工作,早餐店也才刚打开门准备营业。 六点左右到达百花湖钓鱼点,有钓友夜钓结束刚收杆准备回去,有的也才不久到刚摆好装备。 坐下直接找组装好杆子直接找水深,剪铅皮,调四钓二。调好飘之后才发现有钓鱼的感觉了,…