力扣面试150题
文章平均质量分 66
方可申别翘二郎腿
这个作者很懒,什么都没留下…
展开
-
力扣面试150题 |1. 两数之和
1.两数之和原创 2023-12-17 19:45:24 · 1073 阅读 · 0 评论 -
力扣面试150题 | 15.三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4],就说明此时三数之和大了,因为数组是排序后了,所以。输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,1,1]输入:nums = [0,0,0]输出:[[0,0,0]]原创 2023-12-17 19:33:38 · 422 阅读 · 0 评论 -
力扣面试150题 | 209.长度最小的子数组
numsr-1, numsr] ,并返回其长度。在暴力解法中,是一个 for 循环滑动窗口的起始位置,一个 for 循环为滑动窗口的终止位置,用两个 for 循环完成了一个不断搜索区间的过程。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。输入:target = 11, nums = [1,1,1,1,1,1,1,1]所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。输入:target = 7, nums = [2,3,1,2,4,3]原创 2023-12-12 15:53:11 · 527 阅读 · 0 评论 -
力扣面试150题 |151.反转字符串中的单词
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。进阶:如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用 O(1) 额外空间复杂度的 原地 解法。s 中使用至少一个空格将字符串中的 单词 分隔开。解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。给你一个字符串 s ,请你反转字符串中 单词 的顺序。解释:反转后的字符串中不能存在前导空格和尾随空格。原创 2023-12-12 15:28:28 · 434 阅读 · 0 评论 -
力扣面试150题 |有效的括号
遍历字符串的过程中,如果栈已经为空,说明右括号没有找到对应的左括号,return false,对应情况三。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。如果遍历完了字符串,栈不为空,说明有左括号多余了 return false,对应情况一。遍历字符串过程中,栈中没有要匹配的括号, return false,对应情况二。遍历字符串,遇到左括号就把右括号放入栈中,当遇到对应的右括号时将其弹出.输入:s = “()[]{}”输入:s = “()”原创 2023-12-11 17:04:56 · 507 阅读 · 0 评论 -
力扣面试经典题 | 找出字符串中第一个匹配项的下标
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。本题要在文本串字符串中找出模式串出现的第一个位置 (从0开始),所以返回当前在文本串匹配模式串的位置i 减去 模式串的长度,就是文本串字符串中出现模式串的第一个位置。如果 s[i] 与 t[j + 1] 不相同,j就要从next数组里寻找下一个匹配的位置。如果j指向了模式串t的末尾,那么就说明模式串t完全匹配文本串s里的某个子串了。KMP算法经典题目。原创 2023-12-11 16:53:22 · 1085 阅读 · 0 评论 -
力扣面试150题 | 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。用二分法查找第一个大于等于 target 的下标。原创 2023-12-10 23:51:20 · 476 阅读 · 0 评论 -
力扣面试150题 | 买卖股票的最佳时期
假如计划在第 i 天卖出股票,那么最大利润的差值一定是在[0, i-1] 之间选最低点买入;解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。同时,你不能在买入前卖出股票。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]原创 2023-12-10 23:35:23 · 533 阅读 · 0 评论 -
力扣面试150题 | 轮转数组
输入: nums = [1,2,3,4,5,6,7], k = 3。输入:nums = [-1,-100,3,99], k = 2。整体思路是先整体翻转,再翻转前 k 个元素,再翻转剩余元素。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]输出: [5,6,7,1,2,3,4]输出:[3,99,-1,-100]原创 2023-12-09 01:06:08 · 566 阅读 · 0 评论 -
力扣面试150题 | 多数元素
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。遍历数组,将每个元素都加入哈希表中,同时要维护最大的值。最后将最大值输出即可。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:nums = [2,2,1,1,1,2,2]统计每个元素出现的次数,可以想到哈希表,这里用。,键存放元素,值存放元素出现的次数。输入:nums = [3,2,3]原创 2023-12-09 00:54:37 · 588 阅读 · 0 评论 -
力扣150题 |80.删除有序数组中的重复项II
解释:函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3。解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。第一,nums是升序数组,这说明如果出现重复的元素,那么这些重复的元素一定是连续的,例如。输入:nums = [0,0,1,1,1,1,2,3,3]原创 2023-12-08 01:04:21 · 500 阅读 · 0 评论 -
力扣面试150题 | 26.删除有序数组的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。,当fast指向的元素与fast - 1指向的元素不相同,就让slow指向fast所在的元素,随后让slow+1。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。输入:nums = [0,0,1,1,1,2,2,3,3,4]原创 2023-12-08 00:43:28 · 671 阅读 · 0 评论 -
力扣面试150题 | 27.移除元素
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:nums = [3,2,2,3], val = 3。输出:2, nums = [2,2]原创 2023-12-08 00:20:08 · 492 阅读 · 0 评论 -
力扣面试150题 | 88.合并两个有序数组
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]原创 2023-12-07 23:51:23 · 657 阅读 · 0 评论