LeetCode
良晨
keep coding...
展开
-
LeetCode - 切割后面积最大的蛋糕
题目链接:https://leetcode-cn.com/problems/maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/题目描述矩形蛋糕的高度为h且宽度为w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中 horizontalCuts[i] 是从矩形蛋糕顶部到第 i 个水平切口的距离,类似地, verticalCuts[j] 是从矩形蛋糕的左侧到第 j 个竖直切口的距离。.原创 2020-05-31 23:25:59 · 346 阅读 · 0 评论 -
LeetCode - 打家劫舍
题目链接:https://leetcode-cn.com/problems/house-robber/题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,.原创 2020-05-29 16:15:47 · 214 阅读 · 0 评论 -
LeetCode - 点菜展示表
题目链接:https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/题目描述给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi],其中 customerNamei是客户的姓名,tableNumberi是客户所在餐桌的桌号,而 foodItemi是客户点的餐品名称。请你返回该餐厅的 点菜展示表.原创 2020-05-24 19:42:40 · 306 阅读 · 0 评论 -
LeetCode - 二叉搜索树的最近公共祖先
题目链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,n.原创 2020-05-14 01:34:56 · 124 阅读 · 0 评论 -
LeetCode - 旋转链表
题目链接:https://leetcode-cn.com/problems/rotate-list/题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1...原创 2020-03-12 08:11:45 · 149 阅读 · 0 评论 -
LeetCode - 常数时间插入、删除和获取随机元素
题目链接:https://leetcode-cn.com/problems/insert-delete-getrandom-o1/题目描述设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。remove(val):元素 val 存在时,从集合中移除该项。getRandom:随机返回现有集合中的一项...原创 2019-11-05 15:19:07 · 203 阅读 · 0 评论 -
LeetCode - 组合总和
题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:...原创 2019-10-29 22:09:14 · 140 阅读 · 0 评论 -
LeetCode - 组合
题目链接:https://leetcode-cn.com/problems/combinations/题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]我的思路继续死磕递归;一看到这种求各种排列组合的问题...原创 2019-06-07 18:27:20 · 212 阅读 · 0 评论 -
LeetCode - 不同路径
题目链接:https://leetcode-cn.com/problems/unique-paths/题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:...原创 2019-06-14 14:47:41 · 143 阅读 · 0 评论 -
LeetCode - 子集
题目链接:https://leetcode-cn.com/problems/subsets/题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明: 解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]我的思路继续...原创 2019-06-09 21:18:39 · 135 阅读 · 0 评论 -
LeetCode - 盛最多水的容器
题目链接:https://leetcode-cn.com/problems/container-with-most-water题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明: 你...原创 2019-06-25 18:04:14 · 124 阅读 · 0 评论 -
LeetCode - Z 字形变换
题目链接:https://leetcode-cn.com/problems/zigzag-conversion题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:·L C I R··E T O E S I I G··E D H N·之后,你的输出...原创 2019-07-07 21:22:19 · 3070 阅读 · 13 评论 -
LeetCode - 不同的二叉搜索树 II
题目链接:https://leetcode-cn.com/problems//unique-binary-search-trees-ii题目描述给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。说明: m 和 n 的值均不超过 100。示例1:输入: 3输出: [[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[...原创 2019-06-23 22:30:36 · 117 阅读 · 0 评论 -
LeetCode - 子集II
题目链接:https://leetcode-cn.com/problems/subsets-ii/题目描述给定一组可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明: 解集不能包含重复的子集。示例:输入: nums = [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]我的思路是LeetCode...原创 2019-06-27 15:49:18 · 193 阅读 · 0 评论 -
LeetCode - 两两交换链表中的节点
题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例1:给定 1->2->3->4, 你应该返回 2->1->4->3.我的思路一道比较简单的链...原创 2019-07-30 23:52:16 · 140 阅读 · 0 评论 -
LeetCode - 交替打印FooBar
题目链接:https://leetcode-cn.com/problems/print-foobar-alternately/题目描述我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void b...原创 2019-07-26 00:11:28 · 486 阅读 · 0 评论 -
LeetCode - 无重复字符的最长子串
题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2:输入:...原创 2019-09-28 17:57:40 · 116 阅读 · 0 评论 -
LeetCode - 搜索二维矩阵
题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix/submissions/题目描述编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例1:输入: matrix = [[1, 3, 5, 7],...原创 2019-06-01 22:34:00 · 146 阅读 · 0 评论 -
LeetCode之二叉树遍历算法(一)
遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础,总结一下LeetCode上关于二叉树各种遍历算法,先分析二叉树的前序遍历算法和中序遍历算法,这两个算法实现起来比较类似。原创 2019-05-29 16:35:33 · 168 阅读 · 0 评论 -
LeetCode - N叉树的最大深度
题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix/submissions/题目描述给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。说明:树的深度不会超过 1000。树的节点总不会超过 5000。我的思路继上...原创 2019-06-06 00:46:23 · 239 阅读 · 0 评论 -
LeetCode - 实现strStr()
题目描述实现str()函数。给定一个haystack字符串和一个needle字符串,在haystack字符串中找出needle字符串出现的第一个位置(从0开始)。如果不存在,则返回-1。示例输入: haystack = "hello", needle = "ll"输出: 2我的思路以haystack字符串为主,遍历haysack字符串分别以每个字符串为起点,嵌套遍历ne...原创 2018-06-03 00:24:25 · 965 阅读 · 0 评论 -
LeetCode - 字符串中的第一个唯一字符
题目描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。解法首先是我自己写的很LOW的解法:class Solution {public: int firstUniqChar(st...原创 2018-05-23 16:09:27 · 387 阅读 · 0 评论 -
LeetCode - 数数并说
题目描述报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2", "one 1" (&q原创 2018-06-06 14:06:26 · 260 阅读 · 0 评论 -
LeetCode - 反转链表
题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?迭代方法一这种反转的题目使用迭代的方法我首先想到的是栈,用栈来保存每个节点的值,然后一个个弹出并将栈顶元素赋给另外一个链表,这...原创 2018-09-18 11:25:34 · 91 阅读 · 0 评论 -
刷LeetCode(C++)的小心得(持续更新)
&引用的用法,只是一个别名 二叉树层次遍历,使用队列 如果要求类似二维数组形式输出,可以使用循环嵌套,利用每次入栈的元素个数来作为第二个循环的次数。如果只是要求输出一维数组的形式,直接使用一个循环输出即可。 if if if 和 if else if else if的区别 pos = rand%(n-i) swap(temp[pos+i], temp[i]) 随机打乱数组...原创 2019-02-21 16:08:26 · 953 阅读 · 0 评论 -
LeetCode - 反转字符串中的单词 III
题目描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。我的思路既然是要反转每个单词,我的第一反应就是把每个单词看...原创 2019-03-08 15:55:04 · 116 阅读 · 0 评论 -
LeetCode - 两数相加
题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&g...原创 2019-03-20 15:16:24 · 92 阅读 · 0 评论 -
LeetCode - 两数相除
题目描述给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被...原创 2019-03-20 15:01:26 · 118 阅读 · 0 评论 -
LeetCode - Excel表列序号
题目描述给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1:输入: "A"输出: 1示例2:输入: "AB"输出: 28示例...原创 2019-03-12 14:52:29 · 140 阅读 · 0 评论 -
LeetCode - 相交链表
题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交...原创 2019-03-12 16:34:06 · 145 阅读 · 0 评论 -
LeetCode - 合并区间
题目描述给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视...原创 2019-03-17 21:04:10 · 206 阅读 · 0 评论 -
LeetCode - 环形链表 II
题目链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。说明: 不允许修改给定的链表。示例1:输入:...原创 2019-05-20 15:40:03 · 119 阅读 · 0 评论 -
LeetCode - 字符串相乘
题目链接:https://leetcode-cn.com/problems/multiply-strings/题目描述给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例1:输入: num1 = “2”, num2 = “3”输出: “6”示例2:输入: num1 = “123”, num2 =...原创 2019-05-24 22:11:50 · 155 阅读 · 0 评论 -
LeetCode - 分隔链表
题目描述给定一个链表和一个特定值x,对链表进行分隔,使得所有小于x的节点都在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5我的思路借助两个辅助链表实现即可,然后合并两...原创 2019-05-13 15:39:01 · 195 阅读 · 0 评论 -
LeetCode - 整数转换英文表示
题目链接:https://leetcode-cn.com/problems/integer-to-english-words/comments/题目描述将非负整数转换为其对应的英文表示。可以保证给定输入小于 231 - 1 。示例1:输入: 123输出: “One Hundred Twenty Three”示例2:输入: 12345输出: “Twelve Thousand...原创 2019-05-31 16:16:36 · 500 阅读 · 0 评论 -
LeetCode - 路径总和
题目链接:https://leetcode-cn.com/problems/path-sum/题目描述给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 ...原创 2019-06-06 00:34:36 · 464 阅读 · 0 评论 -
LeetCode - 移动零
刚开始刷LeetCode,编程能力暂处小学水平,记录下心得,借鉴https://blog.csdn.net/biezhihua/article/details/79614021题目描述给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明必须在原数组上操作...原创 2018-05-17 10:03:26 · 244 阅读 · 0 评论