加载中...
标签详情
数组 分类
  文章标签
排序 197 算法 1 django 64 npm 2 Artifactory 2 Docker 2 CI/CD 4 认证 2 MongoDB 2 mongosh 2 权限 2 系统集合 1 版本兼容 1 环境配置 1 时区 1 date-fns 1 前端 1 Vite 1 JavaScript 5 缓存 1 依赖管理 1 Helm 1 Jenkins 2 DNS 1 Passenger 1 性能 1 故障排查 3 Rails 5 Postfix 2 SMTP 1 邮件 3 竞态条件 1 Ruby 1 ActionMailer 2 数据治理 1 OOM 1 内存 1 性能调优 1 Linux 8 配置管理 1 磁盘清理 1 日志 1 运维 2 Shell 4 超时 1 任务调度 1 源码分析 1 logrotate 1 cron 1 Rancher 1 Kubernetes 1 SSH 2 公钥认证 2 Hexo 6 markdown 4 PostgreSQL 1 数据库 19 热搜榜 1 widget 1 media 1 递归 46 字符串 423 动态规划 335 数组 855 哈希表 303 数学 306 设计 93 字典树 33 数据流 14 树 167 深度优先搜索 213 二叉树 151 广度优先搜索 177 二分查找 146 后缀数组 3 滑动窗口 56 哈希函数 16 滚动哈希 10 矩阵 141 前缀和 58 交互 5 栈 110 回溯 85 贪心 163 双指针 131 位运算 122 状态压缩 26 树状数组 14 线段树 19 堆(优先队列) 82 图 71 双连通分量 1 链表 77 拓扑排序 19 数论 7 最短路 10 二叉搜索树 43 字符串匹配 13 记忆化搜索 30 博弈 18 队列 22 单调队列 6 几何 24 组合数学 13 概率与统计 8 并查集 48 最小生成树 2 强连通分量 2 随机化 14 单调栈 34 分治 44 枚举 22 有序集合 29 扫描线 4 桶排序 8 基数排序 2 计数 55 模拟 63 归并排序 8 欧拉回路 2 双向链表 9 脑筋急转弯 9 Java 17 Google 1 整洁代码 1 重构 1 测试 1 python 1 scrapy 1 面向对象编程 2 设计原则 1 CPU缓存 1 多线程 6 计数排序 5 快速选择 8 迭代器 6 水塘抽样 4 拒绝采样 2 Git 1 设计模式 14 GitLab CI 1 DevOps 1 Typora 1 Markdown 1 Vue 1
LCP 12-小张刷题计划
原文链接: https://leetcode-cn.com/problems/xiao-zhang-shua-ti-ji-hua 英文原文 中文题目为了提高自己的代码能力,小张制定了 LeetCode 刷题计划,他选中了 LeetCode 题库中的 n 道题,编号从 0 到 n-1,并计划在 m 天内按照题目编号顺序刷完所有的题目(注意,小张不能用多天完成同一题)。 在小张刷题计划中,小张需要用 time[i] 的时间完成编号 i 的题目。此外,小张还可以使用场外求助功能,通过询问他的好朋友小杨…
2021-12-03
LCP 15-游乐园的迷宫
原文链接: https://leetcode-cn.com/problems/you-le-yuan-de-mi-gong 英文原文 中文题目小王来到了游乐园,她玩的第一个项目是模拟推销员。有一个二维平面地图,其中散布着 N 个推销点,编号 0 到 N-1,不存在三点共线的情况。每两点之间有一条直线相连。游戏没有规定起点和终点,但限定了每次转角的方向。首先,小王需要先选择两个点分别作为起点和终点,然后从起点开始访问剩余 N-2 个点恰好一次并回到终点。访问的顺序需要满足一串给定的长度为 N-2 …
2021-12-03
LCP 09-最小跳跃次数
原文链接: https://leetcode-cn.com/problems/zui-xiao-tiao-yue-ci-shu 英文原文 中文题目为了给刷题的同学一些奖励,力扣团队引入了一个弹簧游戏机。游戏机由 N 个特殊弹簧排成一排,编号为 0 到 N-1。初始有一个小球在编号 0 的弹簧处。若小球在编号为 i 的弹簧处,通过按动弹簧,可以选择把小球向右弹射 jump[i] 的距离,或者向左弹射到任意左侧弹簧的位置。也就是说,在编号为 i 弹簧处按动弹簧,小球可以弹向 0 到 i-1 中任意弹…
2021-12-03
LCP 37-最小矩形面积
原文链接: https://leetcode-cn.com/problems/zui-xiao-ju-xing-mian-ji 英文原文 中文题目二维平面上有 $N$ 条直线,形式为 `y = kx + b`,其中 `k`、`b`为整数 且 `k > 0`。所有直线以 `[k,b]` 的形式存于二维数组 `lines` 中,不存在重合的两条直线。两两直线之间可能存在一个交点,最多会有 $C_N^2$ 个交点。我们用一个平行于坐标轴的矩形覆盖所有的交点,请问这个矩形最小面积是多少。若直线之间无交点…
2021-12-03
LCP 13-寻宝
原文链接: https://leetcode-cn.com/problems/xun-bao 英文原文 中文题目我们得到了一副藏宝图,藏宝图显示,在一个迷宫中存在着未被世人发现的宝藏。 迷宫是一个二维矩阵,用一个字符串数组表示。它标识了唯一的入口(用 'S' 表示),和唯一的宝藏地点(用 'T' 表示)。但是,宝藏被一些隐蔽的机关保护了起来。在地图上有若干个机关点(用 'M' 表示),只有所有机关均被触发,才可以拿到宝藏。 要保持机关的触发,需要把一个重石放在上面。迷宫中有若干个石堆(用 'O'…
2021-12-03
LCP 24-数字游戏
原文链接: https://leetcode-cn.com/problems/5TxKeK 英文原文 中文题目小扣在秋日市集入口处发现了一个数字游戏。主办方共有 `N` 个计数器,计数器编号为 `0 ~ N-1`。每个计数器上分别显示了一个数字,小扣按计数器编号升序将所显示的数字记于数组 `nums`。每个计数器上有两个按钮,分别可以实现将显示数字加一或减一。小扣每一次操作可以选择一个计数器,按下加一或减一按钮。 主办方请小扣回答出一个长度为 N 的数组,第 i 个元素(0 <&#x3D; i …
2021-12-03
LCP 20-快速公交
原文链接: https://leetcode-cn.com/problems/meChtZ 英文原文 中文题目小扣打算去秋日市集,由于游客较多,小扣的移动速度受到了人流影响: - 小扣从 `x` 号站点移动至 `x + 1` 号站点需要花费的时间为 `inc`; - 小扣从 `x` 号站点移动至 `x - 1` 号站点需要花费的时间为 `dec`。 现有 m 辆公交车,编号为 0 到 m-1。小扣也可以通过搭乘编号为 i 的公交车,从 x 号站点移动至 jump[i]*x 号站点,耗时仅为 co…
2021-12-03
LCP 18-早餐组合
原文链接: https://leetcode-cn.com/problems/2vYnGI 英文原文 中文题目小扣在秋日市集选择了一家早餐摊位,一维整型数组 `staple` 中记录了每种主食的价格,一维整型数组 `drinks` 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 `x` 元。请返回小扣共有多少种购买方案。 注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1 示例 1: 输入:stapl…
2021-12-03
LCP 28-采购方案
原文链接: https://leetcode-cn.com/problems/4xy4Wx 英文原文 中文题目小力将 N 个零件的报价存于数组 `nums`。小力预算为 `target`,假定小力仅购买两个零件,要求购买零件的花费不超过预算,请问他有多少种采购方案。 注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如:计算初始结果为:1000000008,请返回 1 示例 1: 输入:nums = [2,5,3,5], target = 6 输出:1 解释:预算内仅能购买 …
2021-12-03
LCP 31-变换的迷宫
原文链接: https://leetcode-cn.com/problems/Db3wC1 英文原文 中文题目某解密游戏中,有一个 N\*M 的迷宫,迷宫地形会随时间变化而改变,迷宫出口一直位于 `(n-1,m-1)` 位置。迷宫变化规律记录于 `maze` 中,`maze[i]` 表示 `i` 时刻迷宫的地形状态,`"."` 表示可通行空地,`"#"` 表示陷阱。 地形图初始状态记作 maze[0],此时小力位于起点 (0,0)。此后每一时刻可选择往上、下、左、右其一方向走一步,或者停留在原地…
2021-12-03
LCP 32-批量处理任务
原文链接: https://leetcode-cn.com/problems/t3fKg1 英文原文 中文题目某实验室计算机待处理任务以 `[start,end,period]` 格式记于二维数组 `tasks`,表示完成该任务的时间范围为起始时间 `start` 至结束时间 `end` 之间,需要计算机投入 `period` 的时长,注意: 1. `period` 可为不连续时间 2. 首尾时间均包含在内 处于开机状态的计算机可同时处理任意多个任务,请返回电脑最少开机多久,可处理完所有任务。 …
2021-12-03
LCP 33-蓄水
原文链接: https://leetcode-cn.com/problems/o8SXZn 英文原文 中文题目给定 N 个无限容量且初始均空的水缸,每个水缸配有一个水桶用来打水,第 `i` 个水缸配备的水桶容量记作 `bucket[i]`。小扣有以下两种操作: - 升级水桶:选择任意一个水桶,使其容量增加为 `bucket[i]+1` - 蓄水:将全部水桶接满水,倒入各自对应的水缸 每个水缸对应最低蓄水量记作 vat[i],返回小扣至少需要多少次操作可以完成所有水缸蓄水要求。 注意:实际蓄水量 …
2021-12-03
LCP 36-最多牌组数
原文链接: https://leetcode-cn.com/problems/Up5XYM 英文原文 中文题目麻将的游戏规则中,共有两种方式凑成「一组牌」: - 顺子:三张牌面数字连续的麻将,例如 [4,5,6] - 刻子:三张牌面数字相同的麻将,例如 [10,10,10] 给定若干数字作为麻将牌的数值(记作一维数组 tiles),请返回所给 tiles 最多可组成的牌组数。 注意:凑成牌组时,每张牌仅能使用一次。 示例 1: 输入:tiles = [2,2,2,3,4] 输出:1 解释:最多可…
2021-12-03
LCP 38-守卫城堡
原文链接: https://leetcode-cn.com/problems/7rLGCR 英文原文 中文题目城堡守卫游戏的胜利条件为使恶魔无法从出生点到达城堡。游戏地图可视作 `2*N` 的方格图,记作字符串数组 `grid`,其中: - `"."` 表示恶魔可随意通行的平地; - `"#"` 表示恶魔不可通过的障碍物,玩家可通过在 **平地** 上设置障碍物,即将 `"."` 变为 `"#"` 以阻挡恶魔前进; - `"S"` 表示恶魔出生点,将有大量的恶魔该点生成,恶魔可向上/向下/向左/…
2021-12-03
LCS 02-完成一半题目
原文链接: https://leetcode-cn.com/problems/WqXACV 英文原文 中文题目有 `N` 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 `2*N` 道题目,整型数组 `questions` 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题,请返回被选的 `N` 道题目至少包含多少种知识点类型。 示例 1: 输入:questions = [2,1,6,2] 输出:1 解释:有 2 位扣友在 4 道题目中选择 2 题。可选择完成…
2021-12-03
LCS 03-主题空间
原文链接: https://leetcode-cn.com/problems/YesdPw 英文原文 中文题目「以扣会友」线下活动所在场地由若干主题空间与走廊组成,场地的地图记作由一维字符串型数组 `grid`,字符串中仅包含 `"0"~"5"` 这 6 个字符。地图上每一个字符代表面积为 1 的区域,其中 `"0"` 表示走廊,其他字符表示主题空间。相同且连续(连续指上、下、左、右四个方向连接)的字符组成同一个主题空间。 假如整个 grid 区域的外侧均为走廊。请问,不与走廊直接相邻的主题空间…
2021-12-03
剑指 Offer II 081-允许重复选择元素的组合
原文链接: https://leetcode-cn.com/problems/Ygoe9J 中文题目给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。 对于给定的输入,保证和为 target 的唯一组合数少于 150 个。 示例 1: 输入: candidates = [2,3,…
2021-12-03
剑指 Offer II 082-含有重复元素集合的组合
原文链接: https://leetcode-cn.com/problems/4sjJUc 中文题目给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8, 输出: [ [1,1,6], [1,2,5], …
2021-12-03
剑指 Offer II 004-只出现一次的数字
原文链接: https://leetcode-cn.com/problems/WGki4K 中文题目给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums = [2,2,3,2] 输出:3 示例 2: 输入:nums = [0,1,0,1,0,1,100] 输出:100 提示: 1 <= nums.length <= 3 * 104 -231 <= nums[i] <= 231 - 1 nums …
2021-12-03
剑指 Offer II 083-没有重复元素集合的全排列
原文链接: https://leetcode-cn.com/problems/VvJkup 中文题目给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输出:[[0,1],[1,0]] 示例 3: 输入:nums = [1] 输出:[[1]] 提示: …
2021-12-03
剑指 Offer II 005-单词长度的最大乘积
原文链接: https://leetcode-cn.com/problems/aseY1I 中文题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。 示例 1: 输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"] 输出: 16 解释: 这两个单词为 "abcw", "fxyz…
2021-12-03
剑指 Offer II 006-排序数组中两个数字之和
原文链接: https://leetcode-cn.com/problems/kLl5u1 中文题目给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。 假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用…
2021-12-03
剑指 Offer II 007-数组中和为 0 的三个数
原文链接: https://leetcode-cn.com/problems/1fGaJU 中文题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2: 输入:nums = [] 输出:[] 示例 3: 输入:nums = [0] 输出:[] 提示: …
2021-12-03
剑指 Offer II 008-和大于等于 target 的最短子数组
原文链接: https://leetcode-cn.com/problems/2VG8Kg 中文题目给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 &ge; target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:target = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下…
2021-12-03
剑指 Offer II 088-爬楼梯的最少成本
原文链接: https://leetcode-cn.com/problems/GzCJIP 中文题目数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。 每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。 请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 示例 1: 输入:cost = [10, 15, 20] 输出:15 解释:最低花费是从 c…
2021-12-03
剑指 Offer II 009-乘积小于 K 的子数组
原文链接: https://leetcode-cn.com/problems/ZVAVXX 中文题目给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2] 并不是乘积小于100的子数组。 示…
2021-12-03
剑指 Offer II 089-房屋偷盗
原文链接: https://leetcode-cn.com/problems/Gu0c2T 中文题目一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 输入:nums = [1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 …
2021-12-03
剑指 Offer II 012-左右两边子数组的和相等
原文链接: https://leetcode-cn.com/problems/tvdfij 中文题目给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。 如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。 示例 1: 输入:nums = [1…
2021-12-03
剑指 Offer II 011-0 和 1 个数相同的子数组
原文链接: https://leetcode-cn.com/problems/A1NYOS 中文题目给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums = [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量 0 和 1 的最长连续子数组。 提示: 1…
2021-12-03
剑指 Offer II 013-二维子矩阵的和
原文链接: https://leetcode-cn.com/problems/O4NDxx 中文题目给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumRegion(int row1, int col1, int row2, int col2…
2021-12-03