C#LeetCode
文章平均质量分 77
本系列博文将会向大家展示我在LeetCode上的刷题进度。一来为自己的成长记录点点滴滴,二来跟大家一起探讨技术共同寻找最优解。大部分题目我都会使用数个不同的解法并分析各自的时间复杂度。
无痕的过往
这个作者很懒,什么都没留下…
展开
-
C#LeetCode刷题-程序员面试金典
本文由比特飞原创发布,欢迎大家踊跃转载。转载请注明本文地址:https://www.byteflying.com/archives/5102。C#LEETCODE刷题概述概述所有LeetCode程序员面试金典类算法题汇总。程序员面试金典篇# 题名 刷题 面试题 01.01 判定字符是否唯一 面试题 01.02 判定是否互为字符重排 面试题 01.03 URL化 面试题 01.04 回...原创 2020-08-15 14:17:58 · 359 阅读 · 0 评论 -
C#LeetCode刷题-Shell
本文由比特飞原创发布,欢迎大家踊跃转载。转载请注明本文地址:https://www.byteflying.com/archives/5097。C#LEETCODE刷题概述概述所有LeetCodeShell类算法题汇总。Shell篇# 题名 刷题 192 统计词频 193 有效电话号码 194 转置文件 195 第十行 本文由比特飞原创发布,欢迎大家踊跃转载。...原创 2020-08-15 14:17:17 · 189 阅读 · 0 评论 -
C#LeetCode刷题-多线程
本文由比特飞原创发布,欢迎大家踊跃转载。转载请注明本文地址:https://www.byteflying.com/archives/5101。C#LEETCODE刷题概述概述所有LeetCode多线程类算法题汇总。多线程篇# 题名 刷题 1114 按序打印 1115 交替打印FooBar 1116 打印零与奇偶数 1117 H2O 生成 1195 交替打印字符...原创 2020-08-15 14:16:19 · 256 阅读 · 0 评论 -
C#LeetCode刷题-程序员面试金典
本文由比特飞原创发布,欢迎大家踊跃转载。转载请注明本文地址:https://www.byteflying.com/archives/5102。C#LEETCODE刷题概述概述所有LeetCode程序员面试金典类算法题汇总。程序员面试金典篇# 题名 刷题 面试题 01.01 判定字符是否唯一 面试题 01.02 判定是否互为字符重排 面试题 01.03 URL化 面试题 01.04 回...原创 2020-08-15 14:14:54 · 633 阅读 · 0 评论 -
C#LeetCode刷题-剑指Offer
本文由比特飞原创发布,欢迎大家踊跃转载。转载请注明本文地址:https://www.byteflying.com/archives/5103。C#LEETCODE刷题概述概述所有LeetCode剑指Offer类算法题汇总。剑指Offer篇# 题名 刷题 剑指 Offer 03 数组中重复的数字 剑指 Offer 04 二维数组中的查找 剑指 Offer 05 替换空格 剑指 Offer 0...原创 2020-08-15 14:13:54 · 364 阅读 · 0 评论 -
C#LeetCode刷题之#63-不同路径 II(Unique Paths II)
目录问题示例分析问题一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。输入: [[0,...原创 2018-11-20 18:26:29 · 11326 阅读 · 0 评论 -
C#LeetCode刷题之#62-不同路径(Unique Paths)
目录问题示例分析问题一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。输入: m = 3, n = 2输出: 3解释: ...原创 2018-11-20 18:26:14 · 10735 阅读 · 1 评论 -
C#LeetCode刷题之#59-螺旋矩阵 II(Spiral Matrix II)
目录问题示例分析问题给定一个正整数 n,生成一个包含 1 到 n2n^2n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。输入: 3输出: [[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]Given a positive integer n, generate a square matrix filled with elements from...原创 2018-11-18 16:06:21 · 12435 阅读 · 0 评论 -
C#LeetCode刷题之#40-组合总和 II(Combination Sum II)
目录问题示例分析问题给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。输入: candidates = [10,1,2,7,6,1,5],target = 8, 所...原创 2018-11-20 00:07:38 · 11762 阅读 · 0 评论 -
C#LeetCode刷题之#39-组合总和(Combination Sum)
目录问题示例分析问题给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。输入: candidates = [2,3,6,7], target = 7, 所...原创 2018-11-19 22:28:11 · 12215 阅读 · 0 评论 -
C#LeetCode刷题之#31-下一个排列(Next Permutation)
目录问题示例分析问题实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1Implement next ...原创 2018-11-17 16:08:48 · 12391 阅读 · 0 评论 -
C#LeetCode刷题之#16-最接近的三数之和(3Sum Closest)
目录问题示例分析问题给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位...原创 2018-11-16 22:32:20 · 12524 阅读 · 0 评论 -
C#LeetCode刷题之#530-二叉搜索树的最小绝对差(Minimum Absolute Difference in BST)
问题给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。输入: 1 \ 3 / 2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。注意: 树中至少有2个节点。Given a binary search tree with non-negative values, ...原创 2018-11-08 01:10:08 · 12374 阅读 · 0 评论 -
C#LeetCode刷题之#56-合并区间(Merge Intervals)
问题给出一个区间的集合,请合并所有重叠的区间。输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。Giv...原创 2018-11-14 16:55:46 · 12655 阅读 · 0 评论 -
C#LeetCode刷题之#55-跳跃游戏(Jump Game)
问题给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位...原创 2018-11-13 22:48:48 · 12473 阅读 · 0 评论 -
C#LeetCode刷题之#54-螺旋矩阵(Spiral Matrix)
问题给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: [1,2...原创 2018-11-13 00:58:55 · 12593 阅读 · 0 评论 -
C#LeetCode刷题之#48-旋转图像(Rotate Image)
问题给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]...原创 2018-11-11 23:53:07 · 12426 阅读 · 0 评论 -
C#LeetCode刷题之#34-在排序数组中查找元素的第一个和最后一个位置(Find First and Last Position of Element in Sorted Array)
问题给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]输入: nums = [5,7,7,8,8,10], targ...原创 2018-11-11 02:13:29 · 12620 阅读 · 0 评论 -
C#LeetCode刷题之#11-盛最多水的容器(Container With Most Water)
问题给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够...原创 2018-11-09 23:48:03 · 12347 阅读 · 0 评论 -
C#LeetCode刷题之#892-三维形体的表面积(Surface Area of 3D Shapes)
问题在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。返回结果形体的总表面积。输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[[1,1,1],[1,...原创 2018-11-09 00:36:17 · 12661 阅读 · 0 评论 -
C#LeetCode刷题之#933-最近的请求次数(Number of Recent Calls)
问题写一个 RecentCounter 类来计算最近的请求。它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。返回从 3000 毫秒前到现在的 ping 数。任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。保证每次对 ping 的调用都使用比之前更大的 t 值。输入:inp...原创 2018-11-08 22:50:00 · 12413 阅读 · 0 评论 -
C#LeetCode刷题-极小化极大
极小化极大篇# 题名 刷题 通过率 难度 375 猜数字大小 II 23.4% 中等 464 我能赢吗 25.5% 中等 486 预测赢家 40.4% 中等 843 猜猜这个单词...原创 2018-11-07 18:42:06 · 12442 阅读 · 0 评论 -
C#LeetCode刷题-蓄水池抽样
蓄水池抽样篇# 题名 刷题 通过率 难度 382 链表随机节点 47.0% 中等 398 随机数索引 41.6% 中等 ...原创 2018-11-07 18:44:34 · 12421 阅读 · 0 评论 -
C#LeetCode刷题-几何
几何篇# 题名 刷题 通过率 难度 587 安装栅栏 21.5% 困难 892 三维形体的表面积 C#LeetCode刷题之#892-三维形体的表面积(Surface Area of 3D Shapes) 43.8% 简单 ...原创 2018-11-07 18:46:30 · 12279 阅读 · 0 评论 -
C#LeetCode刷题-Map
Map篇# 题名 刷题 通过率 难度 846 一手顺子 33.7% 中等 855 考场就座 20.8% 中等原创 2018-11-07 18:48:39 · 12290 阅读 · 0 评论 -
C#LeetCode刷题-随机数
随机数篇# 题名 刷题 通过率 难度 470 用 Rand7() 实现 Rand10() 34.4% 中等 478 在圆内随机生成点 22.8% 中等 497 非重叠矩形中的随机点 22.8% 中等 ...原创 2018-11-07 18:50:29 · 12399 阅读 · 1 评论 -
C#LeetCode刷题-拒绝采样
拒绝采样篇# 题名 通过率 难度 470 用 Rand7() 实现 Rand10() 34.4% 中等 478 在圆内随机生成点 22.8% 中等 ...原创 2018-11-07 18:51:54 · 12394 阅读 · 0 评论 -
C#LeetCode刷题之#641-设计循环双端队列(Design Circular Deque)
问题设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。deleteFront():从双端队列头部删除一个元素。 如果操作成功返回 true。dele...原创 2018-11-08 00:52:22 · 12720 阅读 · 0 评论 -
C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)
问题给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应该返回如下子树: 2 / \ 1 3...原创 2018-11-05 22:49:41 · 12314 阅读 · 0 评论 -
C#LeetCode刷题-深度优先搜索
深度优先搜索篇# 题名 刷题 通过率 难度 98 验证二叉搜索树 22.2% 中等 99 恢复二叉搜索树 45.1% 困难 100 相同的树 48.1% 简单 101 对称二叉树...原创 2018-11-05 23:03:05 · 12385 阅读 · 0 评论 -
C#LeetCode刷题-广度优先搜索
广度优先搜索篇# 题名 刷题 通过率 难度 101 对称二叉树 42.1% 简单 102 二叉树的层次遍历 49.7% 中等 103 二叉树的锯齿形层次遍历 43.0% 中等 107 二...原创 2018-11-05 23:05:20 · 12333 阅读 · 1 评论 -
C#LeetCode刷题-并查集
并查集篇# 题名 刷题 通过率 难度 128 最长连续序列 39.3% 困难 130 被围绕的区域 30.5% 中等 200 岛屿的个数 38.4% 中等 547 朋友圈 ...原创 2018-11-05 23:07:54 · 12416 阅读 · 0 评论 -
C#LeetCode刷题-图
图篇# 题名 刷题 通过率 难度 133 克隆图 18.7% 中等 207 课程表 40.0% 中等 210 课程表 II 40.0% 中等 310 最小高度树 ...原创 2018-11-05 23:09:25 · 12390 阅读 · 0 评论 -
C#LeetCode刷题-设计
设计篇# 题名 刷题 通过率 难度 146 LRU缓存机制 33.1% 困难 155 最小栈 C#LeetCode刷题之#155-最小栈(Min Stack) 44.9% 简单 173 二叉搜索树迭代器 49.2%...原创 2018-11-05 23:10:53 · 12407 阅读 · 0 评论 -
C#LeetCode刷题之#622-设计循环队列(Design Circular Queue)
问题设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCi...原创 2018-11-06 17:56:57 · 12454 阅读 · 0 评论 -
C#LeetCode刷题-拓扑排序
拓扑排序篇# 题名 刷题 通过率 难度 207 课程表 40.0% 中等 210 课程表 II 39.8% 中等 329 矩阵中的最长递增路径 31.0% 困难 ...原创 2018-11-06 21:43:54 · 12317 阅读 · 0 评论 -
C#LeetCode刷题-字典树
字典树篇# 题名 刷题 通过率 难度 208 实现 Trie (前缀树) 48.6% 中等 211 添加与搜索单词 - 数据结构设计 39.9% 中等 212 单词搜索 II 27.9% 困难 336...原创 2018-11-06 21:45:54 · 12388 阅读 · 0 评论 -
C#LeetCode刷题-树状数组
树状数组篇# 题名 刷题 通过率 难度 218 天际线问题 32.7% 困难 307 区域和检索 - 数组可修改 42.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 493 ...原创 2018-11-06 21:47:28 · 12307 阅读 · 0 评论 -
C#LeetCode刷题-线段树
线段树篇# 题名 刷题 通过率 难度 218 天际线问题 32.7% 困难 307 区域和检索 - 数组可修改 42.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 493 ...原创 2018-11-06 21:49:12 · 12427 阅读 · 0 评论 -
C#LeetCode刷题-二叉搜索树
二叉搜索树篇# 题名 刷题 通过率 难度 220 存在重复元素 III 19.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 327 区间和的个数 29.5% 困难 352 ...原创 2018-11-06 21:50:56 · 12229 阅读 · 0 评论