LeetCode
咿呀咿呀咿呀哟
这个作者很懒,什么都没留下…
展开
-
滑动窗口
滑动窗口例题:https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/剑指 Offer 48. 最长不含重复字符的子字符串题目请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2:输入: "bbbbb" 输出: 1原创 2020-07-31 23:52:21 · 136 阅读 · 0 评论 -
剑指 Offer 42. 连续子数组的最大和
输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示:1 <=arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)方法一:求连续子数组的和,上一个数会影响下...原创 2020-06-24 13:04:31 · 179 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)方法一:未旋转前数组是递增的,旋转之后,数组特点是,会出现后面一个数比前面一个数小,通过遍历可以直接查找到最小的数。class...原创 2020-06-23 22:14:40 · 147 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target=5,返...原创 2020-06-24 15:10:08 · 104 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000Note:A题的时候一定要考虑特殊点,像这题特殊点在当其中有链表为空时应该怎么处理。参数传入的是l1,l2当前节点,每次都要比较两链表当前的结点值大小,选择最小的,递归和迭代的性质就是这样。方法一:递归:/**原创 2020-06-24 14:33:11 · 108 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)Note:此题需要注意的是:nums 里的所有数字都在 0~n-1 的范围内,抓住这一点就好解了。可以...原创 2020-06-22 21:51:26 · 145 阅读 · 0 评论