摘要:给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入:11110110101100000000 输出: 1示例 2: 输入:110001100000100 阅读全文
posted @ 2020-03-28 00:02 wz-Archer 阅读 (4) 评论 (0) 编辑
摘要:在未排序的数组中找到第 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输出: 4说明: 你可以假设 阅读全文
posted @ 2020-03-27 23:51 wz-Archer 阅读 (3) 评论 (0) 编辑
摘要:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报 阅读全文
posted @ 2020-03-27 23:12 wz-Archer 阅读 (4) 评论 (0) 编辑
摘要:删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5通过次数67,089提交次数149,908 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/re 阅读全文
posted @ 2020-03-27 22:29 wz-Archer 阅读 (3) 评论 (0) 编辑
摘要:中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构中。d 阅读全文
posted @ 2020-03-27 22:01 wz-Archer 阅读 (3) 评论 (0) 编辑
摘要:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2: 输入: 1->1->1->2->3输出: 2->3 来源:力扣(LeetCode)链接:https://leetcode 阅读全文
posted @ 2020-03-27 10:02 wz-Archer 阅读 (4) 评论 (0) 编辑
摘要:给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分 阅读全文
posted @ 2020-03-27 09:37 wz-Archer 阅读 (7) 评论 (0) 编辑
摘要:你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 输入: 4输出: false 解释: 如果堆中有 阅读全文
posted @ 2020-03-26 21:56 wz-Archer 阅读 (3) 评论 (0) 编辑
摘要:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0]输出: 3示例 2: 输入: [3,4,-1,1]输出: 2示例 3: 输入: [7,8,9,11,12]输出: 1 提示: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。 来源:力 阅读全文
posted @ 2020-03-26 18:27 wz-Archer 阅读 (4) 评论 (0) 编辑
摘要:在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方 阅读全文
posted @ 2020-03-26 17:26 wz-Archer 阅读 (5) 评论 (0) 编辑
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [0,1, 阅读全文
posted @ 2020-03-26 16:45 wz-Archer 阅读 (4) 评论 (0) 编辑
摘要:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置 阅读全文
posted @ 2020-03-25 23:35 wz-Archer 阅读 (7) 评论 (0) 编辑
摘要:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ' 阅读全文
posted @ 2020-03-25 23:28 wz-Archer 阅读 (6) 评论 (0) 编辑
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2020-03-25 22:15 wz-Archer 阅读 (5) 评论 (0) 编辑
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2示例 2: 输入: [1,3,5,6], 2输出: 1示例 3: 输入: [1,3,5,6], 阅读全文
posted @ 2020-03-25 22:03 wz-Archer 阅读 (5) 评论 (0) 编辑
摘要:在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]]输出:10示例 2: 输入:[[1,2],[3,4]]输出:34示例 3: 输 阅读全文
posted @ 2020-03-25 14:13 wz-Archer 阅读 (8) 评论 (0) 编辑
摘要:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/middle-of-the-linked-list 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4, 阅读全文
posted @ 2020-03-23 22:39 wz-Archer 阅读 (7) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/minimum-increment-to-make-array-unique/ 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入:[ 阅读全文
posted @ 2020-03-22 15:51 wz-Archer 阅读 (5) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/merge-k-sorted-lists/ 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4- 阅读全文
posted @ 2020-03-21 15:41 wz-Archer 阅读 (10) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/water-and-jug-problem/ 有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。 阅读全文
posted @ 2020-03-21 11:10 wz-Archer 阅读 (18) 评论 (0) 编辑
摘要:https://leetcode-cn.com/problems/next-permutation/ 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 阅读全文
posted @ 2020-03-20 23:47 wz-Archer 阅读 (6) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节 阅读全文
posted @ 2020-03-20 23:08 wz-Archer 阅读 (8) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/container-with-most-water/ 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 阅读全文
posted @ 2020-03-20 20:06 wz-Archer 阅读 (23) 评论 (0) 编辑
摘要:链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5 阅读全文
posted @ 2020-03-20 19:58 wz-Archer 阅读 (7) 评论 (0) 编辑
摘要:根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["2", "1", "+ 阅读全文
posted @ 2020-03-20 19:41 wz-Archer 阅读 (9) 评论 (0) 编辑