题目: 滑动窗口最大值:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 ...
2020/5-20一个有趣的问题数组数组的基本操作(在python中就是list呗) 读取操作更新元素插入元素删除元素辨析:python中方法对上述代码补充如下:一个有趣的问题list = [] list[0] = 1报错,说是索引超出了范围range 为什么会这样? 因为我们定义的列表的长度就是0,使用索引当然失败 可以使用 .append(),就不会报错 如果我想使用索引来增加末尾的元素呢?list = [0,1,2] list.append(None) list[3] = 3如果想使用索引,前提是该位...
152. 乘积最大子数组题目来源:https://leetcode-cn.com/problems/maximum-product-subarray/ 题目给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解题思路思路:动态规划 这道题跟之前【53. 最大子...
测试题: 0. 列表都可以存放一些什么东西?数字,字母,字符串,列表列表类型是一个容器,它里面可以存放任意数量、任意类型的数据。1. 向列表增加元素有哪些方法?append()、extend()、insert()在列表末尾直接添加:1、append () 将参数作为一个元素添加到列表的末尾2、extend ()将参数作为一个列表去扩展列表的末尾在列表中间插入:insert()---需要指定新元素的索引和值eg:1 list=[1,2,3] 2 list.append(欧吼) 3 print(list) ...
题目 https://leetcode-cn.com/problems/find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows/ 给你一个 m * n 的矩阵 mat,以及一个整数 k ,矩阵中的每一行都以非递减的顺序排列。 你可以从每一行中选出 1 个元素形成一个数组。返回所有可能数组中的第 k 个 最小 数组和。 示例 1: 输入:mat = [[1,3,11],[2,4,6]], k = 5 输出:7 解释:从每一行中选出一个元素,前 k 个和最小的数组分别是: [1,2], [1,4], [3,2], [3,4],...
在Python中创建二维数组应该这样写: >>> C = [[0]*3 for i in range(4)]>>> C [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]>>> C[0][1] = 2>>> C[[0, 2, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]所以下次在Python中创建二维数组时候记住了: aList = [[0] * cols for i in range(rows)]原文链接:https://blog.csdn.net/u012505432/article/details/52218392 其他: numpyimport numpy as np a= np.zeros((50,10)) b=np.arange(...
题目: 给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。??提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。) 思...
题目: 给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。 思路: 本题思路简单。 程序: class?Solution: ????def?summaryRanges(self,?nums:?List[int])?->?List[str]: ????????length?=?len(nums) ????????if?length?<=?0: ????????????return?[] ????????if?length?==?1: ????????????return?[str(nums[0])] ????????result?=?[] ????????head?=?0 ????????for?index?in?range(1,?length): ????????????if?nums[ind...
1.列表推导式 列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生。 列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往...
题目: 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。? 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。? 说明:? 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。?? 思路: 因为有存在相同元素的可能,且是升序排列,所以使用双指针法好一些。 程序: class?Solution: ????def?twoSum(self,?n...
题目: 根据一棵树的中序遍历与后序遍历构造二叉树。? 注意: 你可以假设树中没有重复的元素。 思路: 与第105题类似,区别是前序遍历一开始找的是左子树的结点,后续遍历一开始找的是右子树的结点,因为从后面开始找数字。 程序: #?Definition?for?a?binary?tree?node. #?class?TreeNode: #?????def?__init__(self,?x): #?????????self.val?=?x #?????????self.left?=?None #?????????self.right?=?Noneclass?Solution(object): ?...
题目: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。? 求在该柱状图中,能够勾勒出来的矩形的最大面积。 思路: 自己想的方法类似于接雨水的问题,但是计算量在有的例子的时候太大,超时了,参考的别人的方法,就是使用栈和哨兵的思路,这个思路的程序设计的很巧妙。 程序1: class?Solution: ????def?largestRectangleArea(self,?heights:?List[int])?->?int: ????????length?=?len(heig...
题目: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。? 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。? 思路: 思路较简单 程序: class?Solution: ????def?removeDuplicates(self,?nums:?List[int])?->?int: ????????length?=?len(nums) ????????if?length?<=?2: ????????????return?len(nums) ????????counter?=?0 ????????...
题目: 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。说明:? 如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。 思路: 要从下到上进行设计,从上到下进行设计会有错误。 程序: class?Solution: ????def?minimumTotal(self,?triangle:?List[List[int]])?->?int: ????????row?=?len(triangle) ????????if?row?<=?0: ????????????return?0 ???...
题目: 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 思路:开始使用纯逻辑的思路,使用了大量的判断,如程序2所示,可以通过题目的两个例子,但是在自创例子时出现了超时的提示。看了一个大神的程序,然后模仿了下来,如程序1,写的很精巧。 程序1:class?Solution: ????def?insert(self,?intervals:?List[List[in...