05 2021 档案

摘要:分类:数组-前缀和数组 题目描述: 给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 解题思路1: class Solution: def productExceptSel 阅读全文
posted @ 2021-05-27 09:42 LLLLgR 阅读(60) 评论(0) 推荐(0)
摘要:分类:数组-前缀和数组 题目描述: 解题思路: 做这种初始化一次、检索多次的题目的秘诀:在初始化的时候做预处理。 时间复杂度:构造函数的时间复杂度是 O(M * N); sumRegion 函数的时间复杂度是 O(1)空间复杂度:利用了preSum 矩阵,空间是 O(M * N)。 class Nu 阅读全文
posted @ 2021-05-26 21:35 LLLLgR 阅读(67) 评论(0) 推荐(0)
摘要:分类:数组-前缀和数组 题目描述: 给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。 实现 NumArray 类: NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 阅读全文
posted @ 2021-05-26 21:01 LLLLgR 阅读(50) 评论(0) 推荐(0)
摘要:分类:数组-二维数组变换 题目描述: 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead) 阅读全文
posted @ 2021-05-19 21:59 LLLLgR 阅读(155) 评论(0) 推荐(0)
摘要:分类:数组-二维数组变换 题目描述: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 进阶: 一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍 阅读全文
posted @ 2021-05-19 17:38 LLLLgR 阅读(88) 评论(0) 推荐(0)
摘要:分类:数组-二维数组变换 题目描述: 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 解题思路: class Solution: def rotate( 阅读全文
posted @ 2021-05-19 16:24 LLLLgR 阅读(92) 评论(0) 推荐(0)
摘要:分类:数组-二维数组变换 题目描述: 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍 阅读全文
posted @ 2021-05-19 15:52 LLLLgR 阅读(73) 评论(0) 推荐(0)
摘要:分类:数组-特定顺序遍历二维数组 题目描述:给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 解题思路: 对角线对角线的性质是行号xx和列号xx之和x+yx+y为定值,m\times nm×n矩阵的对角线一共有m+n-1m 阅读全文
posted @ 2021-05-18 21:46 LLLLgR 阅读(157) 评论(0) 推荐(0)
摘要:分类:数组-特定顺序遍历二维数组 题目描述: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 解题思路: 生成一个 n×n 空矩阵 mat,随后模拟整个向内环绕的填入过程:定义当前左右上下边界 l,r,t,b,初始值 阅读全文
posted @ 2021-05-18 19:15 LLLLgR 阅读(60) 评论(0) 推荐(0)
摘要:分类:数组-特定顺序遍历二维数组 题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 解题思路:每次取第一行,之后把剩下元素逆时针旋转90度,取第一行,再依次循环。 class Solution: # matrix类型为二维列表,需要返回列表 阅读全文
posted @ 2021-05-18 18:43 LLLLgR 阅读(61) 评论(0) 推荐(0)
摘要:分类:数组-数组的旋转 题目描述: 给定一个长度为 n 的整数数组 A 。 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的“旋转函数” F 为: F(k) = 0 * Bk[0] + 1 * Bk[1] + ... + (n-1) * Bk[n-1]。 计算F(0), F( 阅读全文
posted @ 2021-05-18 16:36 LLLLgR 阅读(67) 评论(0) 推荐(0)
摘要:reverse(): 是python中列表的一个内置方法(也就是说,在字典,字符串或者元组中,是没有这个内置方法的),用于列表中数据的反转。 list.reverse() 这一步操作的返回值是一个None,其作用的结果,需要通过打印被作用的列表才可以查看出具体的效果,即是没有返回值的。 revers 阅读全文
posted @ 2021-05-18 16:01 LLLLgR 阅读(725) 评论(0) 推荐(0)
摘要:分类:数组-数组的旋转 题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 解题思路: 首先对整个数组实行翻转,这样子原数组中需要翻转的子数组,就会跑到数组最前面。 这时候,从 kk 处分隔数组,左右两数组,各自进行翻转即可。 class Solution: def r 阅读全文
posted @ 2021-05-18 15:57 LLLLgR 阅读(52) 评论(0) 推荐(0)
摘要:分类:数组-二维数组及滚动数组 题目描述: 给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X'表示,空位用 '.'表示。 你需要遵守以下规则: 给你一个有效的甲板,仅由战舰或者空位组成。战舰只能水平或者垂直放置。换句话说,战舰只能由 1xN (1 行, N 列)组成,或者 Nx1 (N 阅读全文
posted @ 2021-05-17 21:58 LLLLgR 阅读(60) 评论(0) 推荐(0)
摘要:分类:数组-二维数组及滚动数组 题目描述: 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b的元素 M[i][j 阅读全文
posted @ 2021-05-17 21:48 LLLLgR 阅读(81) 评论(0) 推荐(0)
摘要:分类:数组-二维数组及滚动数组 题目描述: 包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。 解题思路: 遍历矩阵 对于矩阵中的每一个单 阅读全文
posted @ 2021-05-16 21:53 LLLLgR 阅读(54) 评论(0) 推荐(0)
摘要:分类:数组-二维数组及滚动数组 题目描述: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 解题思路: 1.先生成k行的杨辉三角,再返回最后一行即第k行。 class Solution: def getRow(self, row 阅读全文
posted @ 2021-05-05 11:15 LLLLgR 阅读(72) 评论(0) 推荐(0)
摘要:分类:二维数组及滚动数组 题目描述: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 解题思路1: 在杨辉三角中,每个数是它左上方和右上方的数的和。题目给的这一句话提示就够了。稍微麻烦的是要考虑头尾为1的情况那不如根据行创建 阅读全文
posted @ 2021-05-04 18:13 LLLLgR 阅读(59) 评论(0) 推荐(0)
摘要:分类:数组-数组的改变、移动 题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 解题思路: 一次遍历这里参考了快速排序的思想,快速排序首先要确定一个待分割的元素做中间点x,然 阅读全文
posted @ 2021-05-04 17:40 LLLLgR 阅读(42) 评论(0) 推荐(0)
摘要:分类:数组-数组的改变、移动 题目描述: 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 解题思 阅读全文
posted @ 2021-05-04 17:23 LLLLgR 阅读(57) 评论(0) 推荐(0)
摘要:分类:数组-数组元素的遍历 题目描述: 给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了 阅读全文
posted @ 2021-05-04 16:45 LLLLgR 阅读(39) 评论(0) 推荐(0)
摘要:分类:数组-数组的改变、移动 题目描述:给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。 用例: 输入:[1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => 阅读全文
posted @ 2021-05-04 15:57 LLLLgR 阅读(500) 评论(0) 推荐(0)
摘要:VRRP: Virtual IP:192.168.10.254 虚拟网关设置在主路由器,出问题之后转移到备份路由器上。 网关:一个网络到另一个网络的“关口”,是跟PC在同一网段的三层设备的接口。 如果网关出现故障,则内网设备无法访问外网。 PC如果想发送网段到网络,先把网段发送给路由器的相应接口,如 阅读全文
posted @ 2021-05-03 21:52 LLLLgR 阅读(1660) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗? 解题思路: 先找到数组中最大的数,如果最大的数是负数的话,设置最大的数为0,然后遍历1到最大值+2的 阅读全文
posted @ 2021-05-03 16:55 LLLLgR 阅读(59) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。 解题思路:同442.数组中重复的数据 由于数字i在1到n之间, 阅读全文
posted @ 2021-05-03 16:44 LLLLgR 阅读(79) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 解题思路: 由于数字i在1到n之间,可以将nums[ 阅读全文
posted @ 2021-05-03 16:29 LLLLgR 阅读(90) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 阅读全文
posted @ 2021-05-03 15:31 LLLLgR 阅读(44) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 解题思路: 本题可以按照两部分求解: 先求原数组的度;再求与原数组 阅读全文
posted @ 2021-05-03 15:14 LLLLgR 阅读(104) 评论(0) 推荐(0)
摘要:分类:数组-统计数组中的元素 题目描述: 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数, 阅读全文
posted @ 2021-05-02 16:01 LLLLgR 阅读(55) 评论(0) 推荐(0)
摘要:类型:数组-数组的遍历 题目描述: 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 解题思路: 首先将数组排序。 如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也为最大乘积。 如果数组中有正数有负数,则最大乘积既 阅读全文
posted @ 2021-05-02 15:32 LLLLgR 阅读(135) 评论(0) 推荐(0)
摘要:分类:数组-数组的遍历 题目描述:给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 思路:先进行排序。 class Solution: def thirdMax(self, nums: List[int]) -> int: set_nums=list(set(nums 阅读全文
posted @ 2021-05-02 15:15 LLLLgR 阅读(112) 评论(0) 推荐(0)
摘要:分类:数组-数组的遍历 题目描述: 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。 你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒 阅读全文
posted @ 2021-05-02 12:07 LLLLgR 阅读(56) 评论(0) 推荐(0)
摘要:分类:数组 之 数组遍历 给定一个二进制数组, 计算其中最大连续 1 的个数。 思路: 为了得到数组中最大连续 11 的个数,需要遍历数组,并记录最大的连续 11 的个数和当前的连续 11 的个数。如果当前元素是 11,则将当前的连续 11 的个数加 11,否则,使用之前的连续 11 的个数更新最大 阅读全文
posted @ 2021-05-02 11:30 LLLLgR 阅读(74) 评论(0) 推荐(0)