![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构及算法
数据结构及算法整理
孔胖
不积跬步,无以至千里
展开
-
算法例题整理02-数组leecode849
到最近的人的最大距离在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。返回他到离他最近的人的最大距离。示例 1:输入:[1,0,0,0,1,0,1]输出:2解释:如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 ...原创 2020-04-06 11:21:42 · 112 阅读 · 0 评论 -
算法例题整理02-数组leecode697
数组的度给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度示例 1:输入: [1, 2, 2, 3, 1]输出: 2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2...原创 2020-04-06 11:00:18 · 168 阅读 · 0 评论 -
算法例题整理02-数组leecode238
给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]class Solution: def productExceptSelf(self, nums: List[int]) -> Lis...原创 2020-03-21 16:27:16 · 115 阅读 · 0 评论 -
算法例题整理02-数组leecode189
旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,9...原创 2020-03-21 16:09:57 · 117 阅读 · 0 评论 -
算法例题整理02-数组leecode1
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetC...原创 2020-03-21 15:59:56 · 115 阅读 · 0 评论 -
算法例题整理02-队列leecode239
滑动窗口最大值给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。=====================================双端队列能满足“窗口”所有操作需求!class Solution: def maxSlidingWindow(sel...原创 2020-02-19 18:47:38 · 128 阅读 · 0 评论 -
算法例题整理01-队列leecode225
用队列实现栈使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空使用put()将元素添加到序列尾端,get()从队列尾部移除元素from queue import Queueclass MyStack: def __init__(self): """ ...原创 2020-02-19 18:41:13 · 122 阅读 · 0 评论 -
数据结构-01线性结构
数组数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。优点:1、按照索引查询元素速度快2、按照索引遍历数组方便缺点:1、构建时必须分配一段连续的空间,且数组的大小固定后就无法扩容了2、查询数组是否存在需要遍历整个数组,添加,删除的操作同样,均需耗费O(n)的时间3、数组只能存储一种类型的数据...原创 2020-02-15 13:43:35 · 137 阅读 · 0 评论