自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 leetcode *75. 颜色分类(荷兰国旗/三色旗)(2020.10.7)

【题目】 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0...

2020-03-31 17:29:17 154 0

原创 leetcode *215. 数组中的第K个最大元素(堆排序)(2020.6.29)
原力计划

【题目】 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: ...

2020-03-31 17:01:23 97 0

原创 leetcode *147. 对链表进行插入排序(2020.11.20)

【题目】 对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列...

2020-03-31 16:16:17 60 0

原创 leetcode *912. 排序数组(各种经典排序算法)(2020.3.31)

【题目】 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 <= nums.length <= ...

2020-03-31 15:42:11 943 2

原创 leetcode 剑指 Offer 59 - I. 滑动窗口的最大值 & **239. 滑动窗口最大值(单调队列)

【题目】 同 239. 滑动窗口最大值(困难) 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 ...

2020-03-30 23:31:44 132 0

原创 leetcode 994. 腐烂的橘子(方向数组)(2020.3.4)

【题目】 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 示例 1...

2020-03-30 22:51:31 71 0

原创 leetcode 剑指 Offer 62. 圆圈中最后剩下的数字(约瑟夫环)(2020.3.30)

【题目】 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例 1: 输入: n...

2020-03-30 22:13:55 78 0

原创 leetcode 剑指 Offer 57 - II. 和为s的连续正数序列(2020.3.6)

【题目】 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:...

2020-03-29 23:07:34 62 0

原创 leetcode *1395. 统计作战单位数(周赛182)

【题目】 n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士兵可以组成一个作战单位,分组规则如下: 从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k] 作战单位需满足: rating[...

2020-03-29 22:07:54 73 0

原创 leetcode 5368. 找出数组中的幸运数(周赛182)

【题目】 在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。 给你一个整数数组 arr,请你从中找出并返回一个幸运数。 如果数组中存在多个幸运数,只需返回 最大 的那个。 如果数组中不含幸运数,则返回 -1 。 示例 1: 输入:arr = [2,2,3,4] ...

2020-03-29 21:57:36 86 0

原创 leetcode *1162. 地图分析(方向数组)(2020.3.29)

【题目】 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。 我们这里说的距离是『曼哈顿距离』( Ma...

2020-03-29 21:47:43 97 0

原创 leetcode 575. 分糖果

【题目】 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例 1: 输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两...

2020-03-28 22:56:55 41 0

原创 leetcode 1103. 分糖果 II(2020.3.5)
原力计划

【题目】 排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋...

2020-03-28 22:41:19 76 0

原创 leetcode 剑指 Offer 24. 反转链表 & 206. 反转链表(2020.3.2)

【题目】 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 【解题思路1】 遍历结点修改指针 /**...

2020-03-28 21:55:56 65 0

原创 leetcode *208. 实现 Trie (前缀树)

前缀树总结 【题目】 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("appl...

2020-03-28 21:32:16 56 0

原创 leetcode *820. 单词的压缩编码-后缀树(待研究)(2020.3.28)

【题目】 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。 对于每一个索引,我们可以通过从字符串 ...

2020-03-28 21:22:08 88 0

原创 leetcode 461. 汉明距离

【题目】 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意:0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ...

2020-03-27 22:26:30 51 0

原创 leetcode 190. 颠倒二进制位

【题目】 颠倒给定的 32 位无符号整数的二进制位。 示例 1: 输入: 00000010100101000001111010011100 输出: 00111001011110000010100101000000 解释: 输入的二进制串 000000101001010000011110100111...

2020-03-27 21:55:52 42 0

原创 leetcode 剑指 Offer 15. 二进制中1的个数 & 191. 位1的个数(位操作运算符表格)
原力计划

【题目】 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 ...

2020-03-27 21:28:35 63 0

原创 leetcode 189. 旋转数组

【题目】 给定一个数组,将数组中的元素向右移动 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...

2020-03-27 18:59:07 47 0

原创 leetcode 172. 阶乘后的零 & 面试题 16.05. 阶乘尾数

【题目】 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。 【解题思路1】 ...

2020-03-27 17:19:37 59 0

原创 leetcode 914. 卡牌分组(2020.3.27)

【题目】 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,1] ...

2020-03-27 17:00:32 36 0

原创 leetcode 171. Excel表列序号

【题目】 给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: "A" 输出: 1 示例 2: ...

2020-03-26 23:31:50 49 0

原创 leetcode 168. Excel表列名称(26进制改)

【题目】 给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C … 26 -> Z 27 -> AA 28 -> AB … 示例 1: 输入: 1 输出: "A" 示例 2: 输入: ...

2020-03-26 23:21:49 66 0

原创 leetcode 167. 两数之和 II - 输入有序数组(2020.7.20)

【题目】 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,...

2020-03-26 22:35:38 51 0

原创 leetcode 999. 可以被一步捕获的棋子数(2020.3.26)

【题目】 在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),...

2020-03-26 22:18:23 35 0

原创 leetcode 剑指 Offer 52. 两个链表的第一个公共节点 & 160. 相交链表 & 面试题 02.07. 链表相交(双指针)
原力计划

【题目】 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:R...

2020-03-25 17:16:41 54 0

原创 leetcode 141. 环形链表(2020.10.9)
原力计划

【题目】 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个...

2020-03-25 16:52:00 41 0

原创 leetcode 122. 买卖股票的最佳时机 II(2020.11.8)
原力计划

【题目】 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 ...

2020-03-25 16:21:33 44 0

原创 leetcode *剑指 Offer 63. 股票的最大利润 & 121. 买卖股票的最佳时机(2020.3.9)
原力计划

【题目】 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股...

2020-03-25 14:46:09 44 0

原创 leetcode 892. 三维形体的表面积(方向数组)(2020.3.25)
原力计划

【题目】 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:10 示例 2: 输入:[[1,2],[3,4]] 输...

2020-03-25 13:45:41 66 0

原创 leetcode *337. 打家劫舍 III(树形-动态规划)(2020.8.5)

【题目】 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫...

2020-03-24 23:48:25 74 0

原创 leetcode *213. 打家劫舍 II

【题目】 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你...

2020-03-24 23:34:26 43 0

原创 leetcode 198. 打家劫舍(2020.5.29) & 面试题 17.16. 按摩师(2020.3.24)(滚动数组)

【题目】 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 注意:本题相对原题稍作改动 (PS:数组下标表示预约顺序,数组值表示当前预...

2020-03-24 22:16:50 59 2

原创 leetcode 136. 只出现一次的数字(2020.5.14)

【题目】 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 【解...

2020-03-23 23:59:13 329 0

原创 leetcode 119. 杨辉三角 II

【题目】 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶:你可以优化你的算法到 O(k) 空间复杂度吗? 【解题思路1】 118题的基础上稍稍修改,本题从第0行开始计算,...

2020-03-23 23:23:55 59 0

原创 leetcode 118. 杨辉三角

【题目】 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 【解题思...

2020-03-23 22:46:29 55 0

原创 leetcode 876. 链表的中间结点(2020.3.23)

【题目】 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注...

2020-03-23 22:07:20 50 0

原创 leetcode 111. 二叉树的最小深度(2020.8.21)

【题目】 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回...

2020-03-22 23:23:45 49 0

原创 leetcode *945. 使数组唯一的最小增量(2020.3.22)

【题目】 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 move 操作,数组将变为 [1, 2, 3]。 示例 2: 输入:[3,2,1,2,1,7] 输...

2020-03-22 22:54:25 53 0

提示
确定要删除当前文章?
取消 删除