![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
letecode
weixin_41741008
这个作者很懒,什么都没留下…
展开
-
836. 矩形重叠
836. 矩形重叠难度简单91矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:tru...原创 2020-03-18 15:46:01 · 112 阅读 · 0 评论 -
1160. 拼写单词
1160. 拼写单词难度简单42给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words =...原创 2020-03-17 14:37:57 · 126 阅读 · 0 评论 -
Task36(简单)链表:206.反转链表
反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL法一:从头到尾遍历链表,每到一个新元素时,定义两个指针p和q,p指向当前元素的上一个元素,q指向当前元素的下一个元素。把第一个节点连在第二个节点的后面,并将p和q均向右移动一位class Sol...原创 2019-10-05 22:42:53 · 56 阅读 · 0 评论 -
Task32(简单)链表:21合并两个有序链表
21.合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:依次比较两个有序链表的结点值,将较小值的结点插入到新链表后面。直到其中一个比较完毕,将另一个链表剩余的结点全部放到新链表最后面即可。最...原创 2019-09-22 21:47:30 · 65 阅读 · 0 评论 -
Task31(一般)链表:2两数相加
两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...原创 2019-09-15 19:38:36 · 69 阅读 · 0 评论 -
Task28(一般)数组:121.买卖股票的最佳时机
121.买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1...原创 2019-09-15 17:28:23 · 99 阅读 · 0 评论 -
Task27(一般)数组:88合并两个有序数组
[88. 合并两个有序数组]给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m ...原创 2019-09-15 16:44:51 · 70 阅读 · 0 评论 -
Task26(一般)数组:62不同路径
62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?[外链图片转存失败(img-5cejb6EY-1568535975491)(C:\Users\Pc\Documents\微信图片_20190915160210.pn...原创 2019-09-15 16:26:35 · 60 阅读 · 0 评论 -
Task25(一般)数组:59.螺旋矩阵 II
59. 螺旋矩阵 II给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]我们定义对应点的坐标为(i,j),每次移动的向量为(di,dj)。现在我们的问题就变成了,对于每个点每次移动的向量是什么样的。我们还是按照之前的次序先向右移动,也就...原创 2019-09-15 15:59:14 · 110 阅读 · 0 评论 -
Task30(简单)数组:238除自身以外数组的乘积
[238. 除自身以外数组的乘积]给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。方法一:两层,第一个for循环,计算前i个数的积,并存...原创 2019-09-15 12:00:03 · 100 阅读 · 0 评论 -
Task29(简单)数组:217 存在重复元素
217. 存在重复元素给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: trueclass Solutio...原创 2019-09-14 22:38:15 · 68 阅读 · 0 评论 -
Task24(一般)数组:54螺旋矩阵
54. 螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1...原创 2019-09-07 21:25:09 · 66 阅读 · 0 评论 -
Task23(一般)数组:33[搜索旋转排序数组]
33.[搜索旋转排序数组]假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,...原创 2019-09-07 20:40:48 · 57 阅读 · 0 评论 -
Task22(一般)数组:16.最接近的三个数之和
16.最接近的三个数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).方法一class ...原创 2019-09-07 17:21:12 · 112 阅读 · 0 评论 -
Task21(一般)数组15
三数之和给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。**注意:**答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2019-09-07 15:44:24 · 61 阅读 · 0 评论 -
Task33(一般)链表:61旋转链表
61旋转链表.给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: ...原创 2019-10-05 20:00:37 · 53 阅读 · 0 评论 -
Task34(简单)链表:141 环形链表
环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0...原创 2019-10-05 21:02:48 · 76 阅读 · 0 评论 -
Task35(一般)链表:142. 环形链表 II
[142. 环形链表 II]给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to ...原创 2019-10-05 21:47:45 · 58 阅读 · 0 评论 -
Task48(简单)70 爬楼梯
70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶...原创 2019-10-07 13:50:08 · 77 阅读 · 0 评论 -
Task47(简单)215数组中的第K个最大元素
[215. 数组中的第K个最大元素]在未排序的数组中找到第 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输出: 4class Solution(object)...原创 2019-10-07 13:44:45 · 61 阅读 · 0 评论 -
Task46(简单)557. 反转字符串中的单词 III
557. 反转字符串中的单词 III给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。class ...原创 2019-10-07 13:39:41 · 64 阅读 · 0 评论 -
Task45(简单)14最长公共前缀
14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。1、利用python的max()和min(),在Python里字...原创 2019-10-07 13:08:09 · 69 阅读 · 0 评论 -
Task44(简单)5最长回文子串
5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"class Solution: def longestPalindrome(self,s): str...原创 2019-10-07 13:03:03 · 102 阅读 · 1 评论 -
Task43(简单)344反转字符串
344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","...原创 2019-10-07 12:55:09 · 64 阅读 · 0 评论 -
Task42(简单)数学:43 字符串相乘
43. 字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num...原创 2019-10-07 12:51:50 · 111 阅读 · 0 评论 -
Task41(简单)数学:9.回文数
9.回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2019-10-07 12:29:59 · 62 阅读 · 0 评论 -
Task40(简单)数学:8
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多...原创 2019-10-07 12:14:52 · 62 阅读 · 0 评论 -
Task39(简单)数学:7 整数反转
7. 整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据...原创 2019-10-07 10:50:12 · 80 阅读 · 0 评论 -
Task38(简单)链表:237删除链表中的节点
删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -&...原创 2019-10-07 09:56:01 · 98 阅读 · 1 评论 -
Task37(简单)链表:160相交链
160.相交链编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:![微信图片_20191007090525](C:\Users\Pc\Documents\微信图片_20191007090525.png)在节点 c1 开始相交。 示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5...原创 2019-10-07 09:23:15 · 51 阅读 · 0 评论 -
Task20(一般)数组:11.盛最多水的容器
11. 盛最多水的容器 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,...原创 2019-09-02 11:23:56 · 49 阅读 · 0 评论 -
Task17---4. 寻找两个有序数组的中位数
寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4...原创 2019-08-31 19:49:14 · 70 阅读 · 0 评论 -
Task16—292
292. Nim 游戏你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无...原创 2019-08-31 19:02:49 · 69 阅读 · 0 评论 -
Task11—(困难)树:124
二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7]-10/ 9 20/ 15 7输出: 42思路...原创 2019-08-18 19:14:54 · 88 阅读 · 0 评论 -
task10二叉树的最大深度
二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路一:递归算法class Solution(object): ...原创 2019-08-18 18:38:22 · 120 阅读 · 0 评论 -
task9
231.2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false思路一:从1开始,每乘以2就判断一下是否等于nclass Solution:def isPowerOfTwo(self, n) :res =...原创 2019-08-18 18:16:38 · 55 阅读 · 0 评论 -
Task3
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6思路对于多路归并排列,我们可以使用优先队列解决。我们首先想到的解法是,依次将list中的ListNode弹出,然后一次添加...原创 2019-08-06 21:26:23 · 75 阅读 · 0 评论 -
letecode练习一:数组和队列(python实现)
letecode练习一:数组和队列一、概念数组:数组是具有相同的数据类型且按一定次序排列的一组变量的集合体。队列:链表是一种物理储存单元上非连续、非顺序的储存结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。。二、优缺点...原创 2019-08-02 12:09:10 · 321 阅读 · 0 评论 -
task0(最小栈)和task1(有效括号)
2.letecode2 堆栈和数列(stack and queue)2.1概念2.1.1.栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。栈,先进后出。2.1.2队列是一种特殊的线性表,只允许在表的头部(front处)进行删除操作,在表的尾部(rear处)进行插入操作的线性数据结构,这种结构就叫做队列。进行插入操作的一端称为队尾,进行删除操作的一...原创 2019-08-04 17:25:09 · 186 阅读 · 0 评论 -
letecode练习一:数组和队列
letecode练习一:数组和队列一、概念数组:数组是具有相同的数据类型且按一定次序排列的一组变量的集合体。队列:链表是一种物理储存单元上非连续、非顺序的储存结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。。二、优缺点...原创 2019-07-31 08:42:43 · 102 阅读 · 0 评论