![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 65
嘤国大力士
这个作者很懒,什么都没留下…
展开
-
LeetCode 278: 第一个错误的版本
你是产品经理,目前正在带领一个团队开发一个新产品。不幸的是,您的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。为了最小化 API 调用次数,可以使用二分查找算法来找到第一个错误的版本。二分查找的核心思想是通过不断缩小搜索范围来逼近第一个错误的版本。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。, n],你想找出导致之后所有版本出错的第一个错误的版本。假设 n = 5,并且 version = 4 是第一个错误的版本。原创 2024-08-01 17:34:22 · 399 阅读 · 0 评论 -
leetcode 540.有序数组中的单一元素
leetcode [540] 有序数组中的单一元素【转载】作者:宫水三叶链接:https://leetcode.cn/problems/single-element-in-a-sorted-array/solutions/1264496/gong-shui-san-xie-er-duan-xing-fen-xi-yu-17nv/来源:力扣(LeetCode)原创 2024-07-29 09:07:12 · 423 阅读 · 0 评论 -
leetcode 744. 寻找比目标字母大的最小字母
leetcode [744] 寻找比目标字母大的最小字母。原创 2024-07-27 10:24:11 · 242 阅读 · 0 评论 -
leetcode 69. x 的平方根
可以使用二分查找法或牛顿迭代法来实现 LeetCode 问题。下面是使用二分查找法和牛顿迭代法的 C++ 实现。原创 2024-07-24 11:56:55 · 397 阅读 · 1 评论 -
leetcode 455. 分发饼干
这段代码是为LeetCode问题提供的两种解决方案。问题要求分配饼干给孩子,使尽可能多的孩子满足胃口。每个孩子都有一个胃口值,每个饼干都有一个尺寸值,饼干只能分给胃口值小于等于饼干尺寸的孩子。原创 2024-07-23 10:15:57 · 477 阅读 · 1 评论 -
leetcode 75.颜色分类
LeetCode第75题“颜色分类”要求对包含红色、白色和蓝色的数组进行排序,红色、白色和蓝色分别用0、1和2表示。这个问题可以通过荷兰国旗问题的解决方案来实现,该算法的时间复杂度为O(N),空间复杂度为O(1)。有一个简单的思路,这种方法虽然简单直观,但它不是题目要求的单次遍历解决方案。不过,对于理解问题和学习排序的基本概念非常有帮助。这种方法高效且简单,适用于大多数情况下需要对包含少数类别的数组进行分类排序的场景。原创 2024-07-22 09:30:39 · 631 阅读 · 1 评论 -
leetcode 633.平方数之和
1],因此在计算的过程中可能会发生 int 型溢出的情况,需要使用 long 型避免溢出。在枚举 a 的同时,使用 sqrt 函数找出 b。注意:本题 c 的取值范围在 [0,原创 2024-07-20 15:34:49 · 230 阅读 · 0 评论 -
leetcode 524. 通过删除字母匹配到字典里最长单词
Solution。原创 2024-07-20 15:33:12 · 900 阅读 · 1 评论 -
leetcode 451.根据字符出现频率排序
这个方法的时间复杂度主要是O(N log N),其中N是字符串的长度。通过这种方式,可以高效地根据字符出现的频率对字符串进行排序。原创 2024-07-20 15:31:31 · 577 阅读 · 1 评论 -
leetcode1.两数之和
算法实现中,程序员选择将数组中的元素值作为键,将该元素在数组中的索引作为值。算法实现中,返回的应该是两个元素在数组中的索引,而不是元素值本身。通过这种方式,算法能够在 O(n) 时间复杂度内找到满足条件的两个数的索引。问题要求返回的是两个数的索引,而不是它们的值。我们需要返回的是索引 0,而不是元素值 2,所以返回。如果遍历完数组没有找到满足条件的两个数,返回一个空的向量。就是存储在哈希表中的那个数(补数)的索引,,返回的结果应该是两个数在数组中的索引。返回的就是这两个满足条件的数的索引。原创 2024-07-09 11:45:37 · 832 阅读 · 0 评论 -
leetcode 88.合并两个有序数组
方法一没有利用数组 nums1与 nums2已经被排序的性质。这一方法将两个数组看作队列,每次从两个数组头部取出比较小的数字放到结果中。的后半部分是空的,可以直接覆盖而不会影响结果。最直观的方法是先将数组 nums2放进数组nums1的尾部,然后直接对整个数组进行排序。我们为两个数组分别设置一个指针 p1与 p2来作为队列的头部指针。中的元素可能会在取出之前被覆盖。那么如何直接避免覆盖。后面的位置永远足够容纳被插入的元素,不会产生。严格来说,在此遍历过程中的任意一个时刻,的元素被覆盖的情况。原创 2024-07-09 11:49:58 · 231 阅读 · 0 评论 -
leetcode 167.两数之和-ii-输入有序数组
的时间复杂度和 O(1) 的空间复杂度暴力求解,或者借助哈希表使用 O(n) 的时间复杂度和 O(n) 的空间复杂度求解。但是这两种解法都是针对无序数组的,没有利用到输入数组有序的性质。利用输入数组有序的性质,可以得到时间复杂度和空间复杂度更优的解法。上面的暴力求解法代码无法通过测试的原因是返回的索引从0开始,而题目要求返回的索引从1开始。分别加1,即可满足题目的要求。题目描述中指定你所设计的解决方案必须只使用常量级的额外空间。在这里,我们只需要将返回结果中的索引。参考「1. 两数之和」的解法,使用。原创 2024-07-09 11:51:07 · 291 阅读 · 0 评论 -
leetcode 345.反转字符串中的元音字母
LeetCode题目[345]要求反转字符串中的元音字母。我们可以用双指针方法来解决这个问题。原创 2024-07-09 11:52:04 · 173 阅读 · 0 评论 -
leetcode 680.验证回文串-ii
暴力枚举方法是通过删除字符串中的每个字符,然后检查删除后的字符串是否为回文。leetcode解法。原创 2024-07-09 11:53:12 · 337 阅读 · 0 评论 -
leetcode 141.环形链表
以下是使用 C++ 实现 LeetCode 141 题目“环形链表”的两种方法:哈希表法和快慢指针法。这种方法使用两个指针,一个快指针和一个慢指针。如果链表中存在环,快指针最终会与慢指针相遇。这种方法使用一个集合来存储访问过的节点,如果某个节点已经存在于集合中,说明链表中存在环。这两种方法中,快慢指针法在空间复杂度上更优,通常在实际应用中更常用。原创 2024-07-12 11:53:58 · 313 阅读 · 0 评论 -
leetcode 215.数组中的第K个最大元素
LeetCode第215题“数组中的第K个最大元素”要求找到未排序数组中第k个最大的元素。通常有几种常见的解决方案,包括使用排序、使用最小堆或快速选择算法。原创 2024-07-19 09:56:39 · 416 阅读 · 0 评论 -
LeetCode 347.前K个高频元素
这种方法的时间复杂度主要是O(N log K),其中N是数组的长度,K是要找的高频元素的数量。这种方法效率较高,适用于大多数情况。原创 2024-07-20 15:25:57 · 414 阅读 · 1 评论