随笔分类 -  LeetCode

摘要:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 方法1:分治 time:O(nlogk) where k is the number of linked list space:O(n) 方法2:优先级队列 2019-04-19 10:07:41 阅读全文
posted @ 2019-04-19 10:08 Assange 阅读(207) 评论(0) 推荐(0)
摘要:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 哎,这java语法忘完了,也能糊弄通过,老天真要我搞大数据开发吗???????AI我还能刚多久。。。。。。。。。。 官方的递归: 2019-04-18 20:54:58 阅读全文
posted @ 2019-04-18 20:55 Assange 阅读(788) 评论(0) 推荐(0)
摘要:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 用两个节点fast和slo 阅读全文
posted @ 2019-04-17 22:02 Assange 阅读(240) 评论(0) 推荐(0)
摘要:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums = [ 阅读全文
posted @ 2019-04-17 21:24 Assange 阅读(186) 评论(0) 推荐(0)
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].转自:https:/ 阅读全文
posted @ 2019-04-15 22:49 Assange 阅读(495) 评论(0) 推荐(0)
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三 阅读全文
posted @ 2019-04-14 11:39 Assange 阅读(231) 评论(0) 推荐(0)
摘要:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 2019-04-14 09:49:33 阅读全文
posted @ 2019-04-14 09:49 Assange 阅读(219) 评论(0) 推荐(0)
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 示例 2: 2019-04-13 22:58:35 阅读全文
posted @ 2019-04-13 22:58 Assange 阅读(270) 评论(0) 推荐(0)
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V 阅读全文
posted @ 2019-03-23 22:21 Assange 阅读(149) 评论(0) 推荐(0)
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V 阅读全文
posted @ 2019-03-18 23:14 Assange 阅读(181) 评论(0) 推荐(0)
摘要:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 阅读全文
posted @ 2019-03-17 10:11 Assange 阅读(209) 评论(0) 推荐(0)
摘要:请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的 阅读全文
posted @ 2019-03-15 16:43 Assange 阅读(267) 评论(0) 推荐(0)
摘要:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 示例 2: 示例 3: 解法烂的一批,直接看第二个吧 方法2: int from -2147483648 to 2147483647 为了避免反转越界,指定res为long类型。 阅读全文
posted @ 2019-03-14 14:02 Assange 阅读(145) 评论(0) 推荐(0)
摘要:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行数变换的 阅读全文
posted @ 2019-03-13 22:52 Assange 阅读(321) 评论(0) 推荐(0)
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 示例 2: 2019-03-12 23:11:25 阅读全文
posted @ 2019-03-12 23:11 Assange 阅读(184) 评论(0) 推荐(0)
摘要:其中,N1=4,N2=6,size=4+6=10. 1,现在有的是两个已经排好序的数组,结果是要找出这两个数组中间的数值,如果两个数组的元素个数为偶数,则输出的是中间两个元素的平均值。 2,可以想象,如果将数组1随便切一刀(如在3和5之间切一刀),数组1将分成两份,数组1左别的元素的个数为1,右边的 阅读全文
posted @ 2019-03-11 23:06 Assange 阅读(1281) 评论(0) 推荐(0)
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 每次只比较两端的高 阅读全文
posted @ 2019-03-10 19:21 Assange 阅读(401) 评论(0) 推荐(0)
摘要:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 示例 1: 示例 2: 示例 3: 示例 4: 提示: 官方大佬: 2019-03-08 11:10:32 阅读全文
posted @ 2019-03-08 11:10 Assange 阅读(256) 评论(0) 推荐(0)
摘要:你现在是棒球比赛记录员。 给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. "C" 阅读全文
posted @ 2019-03-07 23:21 Assange 阅读(330) 评论(0) 推荐(0)
摘要:给定两个没有重复元素的数组 nums1和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1 阅读全文
posted @ 2019-03-05 23:59 Assange 阅读(292) 评论(0) 推荐(0)