
剑指Offer突击版_算法题
文章平均质量分 63
记录leetcode刷题,以剑指Offer为主
_索伦
结束,还是开始?
展开
-
【滑动窗口】剑指Offer || :字符串中的所有变位词
因为字符串 p 的变位词的长度一定与字符串 p 的长度相同,所以我们可以在字符串 ss 中构造一个长度为与字符串 p 的长度相同的滑动窗口,并在滑动中维护窗口中每种字母的数量;起始索引等于 0 的子串是 “cba”, 它是 “abc” 的变位词。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的变位词。起始索引等于 1 的子串是 “ba”, 它是 “ab” 的变位词。起始索引等于 2 的子串是 “ab”, 它是 “ab” 的变位词。输入: s = “abab”, p = “ab”原创 2022-10-22 22:33:00 · 183 阅读 · 0 评论 -
【滑动窗口】剑指 Offer II 014. 字符串中的变位词
为保证cnt 的值不为正,若此时cnt[x]>0,则向右移动左指针,减少离开区间的字符的 cnt 值直到cnt[x]≤0。使用滑动窗口思想,这里维护两个数组代表窗口,让窗口1固定,表示字符串s1的字符,窗口2表示字符串s2,刚开始对窗口的初始化为字符串s1的长度,每次进一个字符出一个字符,比较两个窗口,如果相同,则返回真,遍历完成后,还没有返回真,则为假。初始时,仅统计s1 中的字符,则 cnt 的值均不为正,且元素值之和为 −n。输入: s1 = “ab” s2 = “eidbaooo”原创 2022-09-06 00:00:26 · 160 阅读 · 0 评论 -
【数组】剑指 Offer II 012. 左右两边子数组的和相等 | 剑指 Offer II 013. 二维子矩阵的和
原题链接:左右两边子数组的和相等题目:给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。示例:题解:// 利用一个性质, 中心元素+左边的元素和+右边元素和,就等于数组所有元素和剑指 Offer I原创 2022-06-26 22:47:28 · 147 阅读 · 0 评论 -
【数组 | 哈希表】 剑指 Offer II 010. 和为 k 的子数组 | 剑指 Offer II 011. 0 和 1 个数相同的子数组
【数组 | 哈希表】 剑指 Offer II 010. 和为 k 的子数组 | 剑指 Offer II 011. 0 和 1 个数相同的子数组原创 2022-05-31 23:52:47 · 152 阅读 · 1 评论 -
【滑动窗口】剑指 Offer II 008. 和大于等于 target 的最短子数组 || 剑指 Offer II 009. 乘积小于 K 的子数组
文章目录剑指 Offer II 008. 和大于等于 target 的最短子数组分析题解剑指 Offer II 009. 乘积小于 K 的子数组分析题解剑指 Offer II 008. 和大于等于 target 的最短子数组给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。原题链接: 【点此查看原创 2022-05-21 10:11:15 · 159 阅读 · 0 评论 -
剑指 Offer II 006. 排序数组中两个数字之和
文章目录题目分析题解题目剑指 Offer II 006. 排序数组中两个数字之和给定一个已按照 升序排列 的整数数组 nums ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < nums.length 。假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。原题链接原创 2022-05-21 09:07:52 · 144 阅读 · 0 评论 -
剑指 Offer II 005. 单词长度的最大乘积
文章目录题目分析题解题目剑指 Offer II 005. 单词长度的最大乘积给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。原题链接: 【点此查看】示例1:输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"]输出: 16 解释: 这两个单词为 "abcw", "fxyz"。原创 2022-05-21 09:01:29 · 89 阅读 · 0 评论 -
剑指 Offer II 007. 数组中和为 0 的三个数
剑指 Offer II 007. 数组中和为 0 的三个数原创 2022-05-12 00:07:20 · 213 阅读 · 1 评论 -
剑指 Offer II 004. 只出现一次的数字
剑指 Offer II 004. 只出现一次的数字原创 2022-05-10 23:42:53 · 163 阅读 · 0 评论