
模拟
文章平均质量分 50
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
-
【leetcode】524. 通过删除字母匹配到字典里最长单词(longest-word-in-dictionary-through-deleting)(模拟)[中等]
链接https://leetcode-cn.com/problems/longest-word-in-dictionary-through-deleting/耗时解题:12 min题解:17 min题意给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。提示: 1 <= s.length <= 1000原创 2021-09-14 08:57:06 · 154 阅读 · 0 评论 -
【leetcode】551. 学生出勤记录 I(student-attendance-record-i)(模拟)[简单]
链接https://leetcode-cn.com/problems/student-attendance-record-i/耗时解题:8 min题解:5 min题意给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励: 按 总出勤 计,学生缺勤('A')严格 少于两天。原创 2021-08-17 19:36:40 · 451 阅读 · 0 评论 -
【leetcode】1418. 点菜展示表(display-table-of-food-orders-in-a-restaurant)(模拟)[中等]
链接https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/耗时解题:1 h 24 min题解:-32 min题意给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodItemi原创 2021-07-06 16:40:06 · 182 阅读 · 0 评论 -
【leetcode】7. 整数反转(reverse-integer)(模拟)[简单]
链接https://leetcode-cn.com/problems/reverse-integer/耗时解题:16 min题解:9 min题意给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。提示: -231 <= x <= 231 - 1思路我将正负数都转成正数处理,正数 x 每次除 10 取原创 2021-05-03 17:20:33 · 170 阅读 · 0 评论 -
【leetcode】73. 矩阵置零(set-matrix-zeroes)(模拟)[中等]
链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:33 min题解:18 min题意给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?提示:原创 2021-03-21 11:19:15 · 212 阅读 · 0 评论 -
【leetcode】1603. 设计停车系统(design-parking-system)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:6 min题解:2 min题意请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。请你实现 ParkingSystem 类:ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。bool addCar原创 2021-03-19 16:21:23 · 374 阅读 · 0 评论 -
【leetcode】92. 反转链表 II(reverse-linked-list-ii)(模拟)[中等]
链接https://leetcode-cn.com/problems/reverse-linked-list-ii/耗时解题:1 h 12 min题解:8 min题意反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。思路设置一个翻转起始节点之前的节点 left_before,一个翻转结束节点之后的节点 right_next,不断的将当前 left 节点的下一个节点放到 left_before 之后,直到遇到 right_next。时间复原创 2021-03-18 11:22:04 · 167 阅读 · 0 评论 -
【leetcode】59. 螺旋矩阵 II(spiral-matrix-ii)(模拟)[中等]
链接https://leetcode-cn.com/problems/spiral-matrix-ii/耗时解题:7 min题解:11 min题意给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。提示:1 <= n <= 20思路和 【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等] 的思路完全相同,两题的区别基本只有把 54 的输入变成的输出,然后矩阵还简化成原创 2021-03-16 09:03:31 · 201 阅读 · 0 评论 -
【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等]
链接https://leetcode-cn.com/problems/spiral-matrix/耗时解题:47 min题解:12 min题意给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100思路从外向内一圈一圈往里走,把每一圈看成一个循环结,原创 2021-03-15 11:19:05 · 185 阅读 · 0 评论 -
【leetcode】706. 设计哈希映射(design-hashmap)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-hashmap/耗时解题:13 min题解:8 min题意不使用任何内建的哈希表库设计一个哈希映射(HashMap)。实现 MyHashMap 类:MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。int get(int key原创 2021-03-14 13:25:39 · 237 阅读 · 0 评论 -
【leetcode】705. 设计哈希集合(design-hashset)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-hashset/耗时解题:11 min题解:10 min题意不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。提示:原创 2021-03-13 17:31:41 · 226 阅读 · 0 评论 -
【leetcode】1047. 删除字符串中的所有相邻重复项(remove-all-adjacent-duplicates-in-string)(模拟)[简单]
链接https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/耗时解题:38 min题解:10 min题意给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。思路类似于消消乐,两个相同的字符碰到一起就消去它们,并且一次消去之后可能会引起连锁的接连消去。记录原创 2021-03-09 09:45:24 · 224 阅读 · 0 评论 -
【leetcode】867. 转置矩阵(transpose-matrix)(模拟)[简单]
链接https://leetcode-cn.com/problems/transpose-matrix/耗时解题:4 min题解:4 min题意给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 10001 <= m * n <= 10^5-10^9 <=原创 2021-02-25 12:19:40 · 215 阅读 · 0 评论 -
【leetcode】832. 翻转图像(flipping-an-image)(模拟)[简单]
链接https://leetcode-cn.com/problems/flipping-an-image/耗时解题:29 min题解:4 min题意给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。提示:1 <=原创 2021-02-24 12:50:23 · 207 阅读 · 0 评论 -
【leetcode】766. 托普利茨矩阵(toeplitz-matrix)(模拟)[简单]
链接https://leetcode-cn.com/problems/toeplitz-matrix/耗时解题:5 min题解:6 min题意给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 200 <=原创 2021-02-22 12:27:47 · 285 阅读 · 0 评论 -
【leetcode】697. 数组的度(degree-of-an-array)(模拟)[简单]
链接https://leetcode-cn.com/problems/degree-of-an-array/耗时解题:1 h 29 min题解:13 min题意给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。提示:nums.length 在1到 50,000 区间范围内。nums[i] 是一个在 0 到 49,999 范围内的整数。思路题意相原创 2021-02-20 15:47:15 · 214 阅读 · 0 评论 -
【leetcode】566. 重塑矩阵(reshape-the-matrix)(模拟)[简单]
链接https://leetcode-cn.com/problems/reshape-the-matrix/耗时解题:17 min题解:10 min题意在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;原创 2021-02-17 14:40:21 · 200 阅读 · 0 评论 -
【leetcode】485. 最大连续1的个数(max-consecutive-ones)(模拟)[简单]
链接https://leetcode-cn.com/problems/max-consecutive-ones/耗时解题:3 min题解:9 min题意给定一个二进制数组, 计算其中最大连续1的个数。思路计数数组中连续 1 的长度,遍历数组,以当前元素为结尾的最大连续 1 的个数为 tmp,tmp 的最大值即为答案。详见代码。时间复杂度:O(n)O(n)O(n)AC代码class Solution {public: int findMaxConsecutiveOnes(vec原创 2021-02-15 17:16:57 · 197 阅读 · 0 评论 -
【leetcode】119. 杨辉三角 II(pascals-triangle-ii)(模拟)[简单]
链接https://leetcode-cn.com/problems/pascals-triangle-ii/耗时解题:18 min题解:18 min题意给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。思路将杨辉三角形放在二维数组的左下三角形,根据定义可以得到每个位置的元素值的递推式为:dp[i][j]=dp[i−1][j−1]+dp[i−1][j]dp[i][j] = dp[i-1][j-1] + dp[i-1][j]原创 2021-02-12 14:12:37 · 224 阅读 · 2 评论 -
【leetcode】703. 数据流中的第 K 大元素(kth-largest-element-in-a-stream)(模拟)[简单]
链接https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/耗时解题:1 h 25 min题解:26 min题意设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。int add(int val) 将 val 插入数据流原创 2021-02-11 11:08:17 · 145 阅读 · 0 评论 -
【leetcode】1672. 最富有客户的资产总量(richest-customer-wealth)(模拟)[简单]
链接https://leetcode-cn.com/problems/richest-customer-wealth/耗时解题:5 min题解:6 min题意给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。思路返回 accounts 每行的和的最大值原创 2021-01-24 23:30:25 · 239 阅读 · 0 评论 -
【leetcode】989. 数组形式的整数加法(add-to-array-form-of-integer)(模拟)[简单]
链接https://leetcode-cn.com/problems/add-to-array-form-of-integer/耗时解题:12 min题解:8 min题意对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。思路模拟加法运算,因为可能存在进位,所以结果数组从低位到高位 push,计算完成后再翻转结果数组即可。 详见代码。原创 2021-01-22 13:39:47 · 146 阅读 · 0 评论 -
【leetcode】1689. 十-二进制数的最少数目(partitioning-into-minimum-number-of-deci-binary-numbers)(模拟)[中等]
链接https://leetcode-cn.com/problems/partitioning-into-minimum-number-of-deci-binary-numbers/耗时解题:5 min题解:13 min题意如果一个十进制数字不含任何前导零,且每一位上的数字不是 0 就是 1 ,那么该数字就是一个 十-二进制数 。例如,101 和 1100 都是 十-二进制数,而 112 和 3001 不是。给你一个表示十进制整数的字符串 n ,返回和为 n 的 十-二进制数 的最少数目。提原创 2021-01-21 11:18:40 · 247 阅读 · 0 评论 -
【leetcode】88. 合并两个有序数组(merge-sorted-array)(模拟)[简单]
链接https://leetcode-cn.com/problems/merge-sorted-array/耗时解题:15 min题解:9 min题意给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小等于 m + n)来保存 nums2 中的元素。思路首先把 nums1 中的元素向右移 n 位。然后原创 2021-01-19 18:46:26 · 169 阅读 · 0 评论 -
【leetcode】228. 汇总区间(summary-ranges)(模拟)[简单]
链接https://leetcode-cn.com/problems/summary-ranges/耗时解题:12 min题解:9 min题意给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b思路原创 2021-01-10 01:17:43 · 200 阅读 · 0 评论 -
【leetcode】189. 旋转数组(rotate-array)(模拟)[中等]
链接https://leetcode-cn.com/problems/rotate-array/耗时解题:23 min题解:10 min题意给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。思路遍历一趟,记录每个位置是否移动过,如果没有则将当前元素往后移k位,后k位元素再往后移k位,如此继续,直到再次想移动当前元素为止;如果移动过则尝试下一个元素。时间复杂度:O(n)O(n)O(n)AC代码class Solution {public: void rota原创 2021-01-08 20:26:37 · 202 阅读 · 0 评论 -
【leetcode】399. 除法求值(evaluate-division)(模拟)[中等]
链接https://leetcode-cn.com/problems/evaluate-division/耗时解题:1 h 37 min题解:26 min题意给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j]原创 2021-01-06 13:28:48 · 165 阅读 · 0 评论 -
【leetcode】830. 较大分组的位置(positions-of-large-groups)(模拟)[简单]
链接https://leetcode-cn.com/problems/positions-of-large-groups/耗时解题:16 min题解:-27 min题意在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标原创 2021-01-05 16:35:04 · 128 阅读 · 0 评论 -
【leetcode】448. 找到所有数组中消失的数字(find-all-numbers-disappeared-in-an-array)(模拟)[简单]
链接https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/耗时解题:-8 min题解:-28 min题意给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。思原创 2021-01-04 16:38:51 · 152 阅读 · 0 评论 -
【leetcode】509. 斐波那契数(fibonacci-number)(模拟)[简单]
链接https://leetcode-cn.com/problems/fibonacci-number/耗时解题:6 min题解:2 min题意斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。思路见代码。时间复杂度:O(n)O(n)O(n)AC代码原创 2021-01-04 10:19:55 · 173 阅读 · 1 评论 -
【leetcode】86. 分隔链表(partition-list)(模拟)[中等]
链接https://leetcode-cn.com/problems/partition-list/耗时解题:37 min题解:12 min题意给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。思路添加哑节点作为头节点,然后找到第一个比 x 大的前一个节点的位置,之后从这个节点的位置开始向后遍历,如果遍历的当前节点元素小于 x 说明这个节点需要换到前面,利用 当前节点的前一个节点 和原创 2021-01-04 10:15:56 · 127 阅读 · 0 评论 -
【leetcode】1122. 数组的相对排序(relative-sort-array)(模拟)[简单]
链接https://leetcode-cn.com/problems/relative-sort-array/耗时解题:12 min题解:12 min题意给你两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。思路计数排序的思想。用哈希表做离散化,计数 arr1 中每个元素原创 2020-11-14 19:45:50 · 145 阅读 · 1 评论 -
【leetcode】31. 下一个排列(next-permutation)(模拟)[中等]
链接https://leetcode-cn.com/problems/next-permutation/耗时解题:4 h 45 min题解:13 min题意实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。思路实现 C++ 的 next_permutation() 。从后向前找到第一个非逆序的数字 nums[i],然后在 [i+1,n-1] 里原创 2020-11-10 15:38:29 · 116 阅读 · 0 评论 -
【leetcode】973. 最接近原点的 K 个点(k-closest-points-to-origin)(模拟)[中等]
链接https://leetcode-cn.com/problems/k-closest-points-to-origin/耗时解题:21 min题解:5 min题意我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。思路计算每个点和原点的距离,然后按距离排序,取前 K 个。时间复杂度:O(nlogn)O(nlogn)O(nl原创 2020-11-09 20:47:51 · 150 阅读 · 0 评论 -
【leetcode】1356. 根据数字二进制下 1 的数目排序(sort-integers-by-the-number-of-1-bits)(模拟)[简单]
链接https://leetcode-cn.com/problems/sort-integers-by-the-number-of-1-bits/耗时解题:15 min题解:6 min题意给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。思路结构体中记录整数值和整数二进制中 1 的数目,然后结构体排序。时间复杂度:O(nlogn)O(nlogn)O(原创 2020-11-06 09:28:10 · 162 阅读 · 0 评论 -
【leetcode】57. 插入区间(insert-interval)(模拟)[困难]
链接https://leetcode-cn.com/problems/insert-interval/耗时解题:2 h 17 min题解:8 min题意给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。思路分为四种情况:在头部插入在结尾插入在中间插入与某些现存区间合并解决:判断是否为空,新增区间右端点是否小于列表第一个区间左端点。不在中间插入或合并,就在结尾插入在现存区原创 2020-11-04 11:58:53 · 118 阅读 · 0 评论 -
【leetcode】941. 有效的山脉数组(valid-mountain-array)(模拟)[简单]
链接https://leetcode-cn.com/problems/valid-mountain-array/耗时解题:10 min题解:3 min题意给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i原创 2020-11-03 09:03:38 · 229 阅读 · 0 评论 -
【leetcode】381. O(1) 时间插入、删除和获取随机元素 - 允许重复(insert-delete-getrandom-o1-duplicates-allowed)(模拟)[困难]
链接https://leetcode-cn.com/problems/insert-delete-getrandom-o1-duplicates-allowed/耗时解题:2 h 19 min题解:-9 min题意设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。注意: 允许出现重复元素。insert(val):向集合中插入元素 val。remove(val):当 val 存在时,从集合中移除一个 val。getRandom:从现有集合中随机获取一个元素。每个元素原创 2020-10-31 11:20:14 · 177 阅读 · 0 评论 -
【leetcode】463. 岛屿的周长(island-perimeter)(模拟)[简单]
链接https://leetcode-cn.com/problems/island-perimeter/耗时解题:19 min题解:3 min题意给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超原创 2020-10-30 09:05:01 · 178 阅读 · 0 评论 -
【leetcode】1207. 独一无二的出现次数(unique-number-of-occurrences)(模拟)[简单]
链接https://leetcode-cn.com/problems/unique-number-of-occurrences/耗时解题:22 min题解:4 min题意给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。思路两个哈希表,一个用来离散统计出现次数,第二个测试出现次数是否独一无二。时间复杂度:O(n)O(n)O(n)AC代码class Solution {public: bo原创 2020-10-28 09:49:51 · 323 阅读 · 0 评论