训练50天
泰弗伊德
这个作者很懒,什么都没留下…
展开
-
力扣练习第二十二天——不同路径
力扣练习第二十二天——不同路径原创 2019-09-16 13:31:17 · 113 阅读 · 0 评论 -
力扣练习第二十一天——旋转链表
力扣练习第二十一天——旋转链表题目大致如下:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例一:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->N...原创 2019-09-15 22:54:26 · 104 阅读 · 0 评论 -
力扣练习第二十天——螺旋矩阵 II
力扣练习第二十天——螺旋矩阵 II题目大致如下:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]链接来源于LeetCode:https://leetcode-cn.com/problems/spiral-matrix-ii/大致思...原创 2019-09-12 02:18:02 · 130 阅读 · 0 评论 -
力扣练习第十九天——螺旋矩阵
力扣练习第十九天——螺旋矩阵题目大致如下:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例一:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例二:...原创 2019-09-12 02:08:16 · 147 阅读 · 0 评论 -
力扣练习第十八天——最大子序和
力扣练习第十八天——最大子序和题目大致如下:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。链接来源于LeetC...原创 2019-09-12 07:00:30 · 103 阅读 · 0 评论 -
力扣练习第十七天——全排列
力扣练习第十七天——全排列题目大致如下:给定一个没有重复数字的序列,返回其所有可能的全排列示例:输入:[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]链接来源于LeetCode:https://leetcode-cn.com/problems/permutations/大致思路:最开始采用的是直接...原创 2019-09-11 15:51:29 · 127 阅读 · 0 评论 -
力扣练习第十六天——字符串相乘
力扣练习第十五天——字符串相乘题目大致如下:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例一:输入: num1 = “2”, num2 = “3”输出: “6”示例二:...原创 2019-09-10 13:33:01 · 134 阅读 · 0 评论 -
力扣练习第十五天——搜索旋转排序数组
力扣练习第十五天——搜索旋转排序数组题目大致如下:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。注:你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例一:输入:...原创 2019-09-08 23:28:48 · 77 阅读 · 0 评论 -
力扣练习第十四天——删除排序数组中的重复项
力扣练习第十三天——删除排序数组中的重复项原创 2019-09-08 09:49:49 · 109 阅读 · 0 评论 -
力扣练习第十三天——合并K个排序链表
力扣练习第十三天——合并K个排序链表题目大致如下:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6链接来源于LeetCode:https://leetcode-cn.com/p...原创 2019-09-07 15:13:49 · 108 阅读 · 0 评论 -
力扣练习第十二天——合并两个有序链表
力扣练习第十二天——合并两个有序链表题目大致如下:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4链接来源于LeetCode:https://leetcode-cn.com/problems/merge-tw...原创 2019-09-06 16:19:05 · 101 阅读 · 0 评论 -
力扣练习第十一天——有效的括号
力扣练习第十一天——有效的括号题目大致如下:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注:空字符串可被认为是有效字符串。示例一:输入:’’()"输出:true示例二:输入:"(){}[]"输出:true示例三:输入:"(]"输出:fals...原创 2019-09-05 15:06:59 · 136 阅读 · 1 评论 -
力扣练习第十天——最接近的三数之和
力扣练习第十天——最接近的三数之和题目大致如下:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。...原创 2019-09-04 17:55:16 · 106 阅读 · 0 评论 -
力扣练习第九天——三数之和
力扣练习第九天——三数之和题目大致如下:给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?找到所有满足条件且不重复的三元组。注:答案中不包含重复的三元组。示例:给定数组nums=[-1,0,1,2,-1,-4],则满足要求的三元组为:[ [-1,0,1],[-1,-1,2] ]链接来源于LeetCode:https://leetcod...原创 2019-09-03 15:23:28 · 208 阅读 · 0 评论 -
力扣练习第八天——最长公共前缀
力扣练习第八天——最长公共前缀题目大致如下:查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串’’’’。示例一:输入:[“flower”,“flow”,“flight”]输出:“fl”示例二:输入:[“dog”,“racecar”,“car”]输出:’’"链接来源于LeetCode:https://leetcode-cn.com/problems/longest-c...原创 2019-09-01 23:50:33 · 115 阅读 · 0 评论 -
力扣练习第七天——盛最多水的容器
力扣练习第七天——盛最多水的容器题目大致如下:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。注:不可倾斜容器,且n>=2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49...原创 2019-09-01 16:05:07 · 99 阅读 · 0 评论 -
力扣练习第六天——回文数
力扣练习第六天——回文数题目大致如下:判断一个数字是不是回文数,即从左到右与从右到左的数字相同示例一:输入:121 输出:true示例二:输入:-121 输出:false大致思路:由于数据是整数类型,而且回文数一定是正数,负数显然不行。那么我们一开始就可以使用一个判断句把负数排除掉。然后对整数每一位进行操作,按顺序取出每一位数字,并加出逆序的数字,再对比求得对错与否。...原创 2019-08-31 11:33:23 · 114 阅读 · 0 评论 -
力扣练习第五天——字符串转换为整数
力扣练习第五天——字符串转换整数今天练习的题目大致如下:对字符串先处理掉无用的开头空格字符,直到找到第一个非空格字符为止。若第一个非空字符为“+”或“-”,则作为后面整数的正负号,若为整数,则直接与后面的数字连接起来形成整数组合。(除了整数字符,其他字符可以忽略)注:1.若该字符的第一个非空格字符不是一个有效的整数字符,字符串为空或者字符串仅有空白字符,则函数不需要转换。2.任何情况下...原创 2019-08-30 21:12:09 · 176 阅读 · 0 评论 -
力扣练习第四天——整数的反转
力扣练习第四天——整数的反转题目大致如下:给一个32位的有符号的整数,将整数上的每一位数字反转位置。链接来源于LeetCode:https://leetcode-cn.com/problems/reverse-integer/示例一:输入:123输出:321示例二:输入:-123输出:-321示例三:输入:120输出:21大致思路:本题的思路可以非常直接,即创建一个数组...原创 2019-08-28 23:18:01 · 148 阅读 · 0 评论 -
力扣练习第三天——最长回文子串
力扣练习第三天——最长回文子串今天练习的题目是最长回文字串,题目大意如下:给定一个字符串s,找到s中的最长的回文子串,可以假设s的最大长度为1000示例一:输入:“ababd” 输出:“bab” ("aba"也是一个有效答案)示例二:输入:“cbbd” 输出:“bb”该题目曾在黑书中也出现过,题目大致相同,稍微有点区别的是黑书中要求输出的是该回文子串的最大长度是...原创 2019-08-28 13:38:34 · 156 阅读 · 0 评论 -
力扣练习第二天——找两个有序数组的中位数
力扣练习第二天题目大致如下:给定两个有序数组nums1与nums2,找出这两个数组的中位数,并且要求时间复杂度为O(log(m+n))。LeetCode练习第四题——找两个有序数组的中位数实例1:nums1=[1,3],nums2=[2]则中位数为2.0实例2:nums1=[1,2],nums2=[3,4]则中位数为2.5预先思考我们先简化问题思考——考虑我们如何对待一个数组...原创 2019-08-27 18:59:25 · 155 阅读 · 0 评论 -
Leetcode练习第一天——两数相加
力扣练习第一天链接: [link]https://leetcode-cn.com/problems/add-two-numbers/submissions/今天练习了两数相加题目原创 2019-08-26 20:58:13 · 115 阅读 · 0 评论 -
力扣练习第三十八天——求众数
力扣练习第三十八天——求众数题目大致如下:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例一:输入: [3,2,3]输出: 3示例二:输入: [2,2,1,1,1,2,2]输出: 2链接来源于LeetCode:https://leetcode-cn.com/problems...原创 2019-10-01 23:41:00 · 115 阅读 · 0 评论 -
力扣练习第三十九天——反转链表
力扣练习第三十九天——反转链表题目大致如下:反转一个单链表。进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL链接来源于LeetCode:https://leetcode-cn.com/problems/rever...原创 2019-10-03 00:43:05 · 79 阅读 · 0 评论 -
力扣练习第四十天——数组中的第k个最大元素
力扣练习第四十天——数组中的第k个最大元素题目大致如下:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例一:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例二:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤...原创 2019-10-04 17:46:56 · 117 阅读 · 0 评论 -
力扣练习第四十一天——存在重复元素
力扣练习第四十一天——存在重复元素题目大致如下:示例一:示例二:示例三:链接来源于LeetCode:大致思路:代码如下:结果:原创 2019-10-05 17:11:46 · 109 阅读 · 0 评论 -
力扣练习第四十二天——二叉搜索树中第K小的元素
力扣练习第四十二天——二叉搜索树中第K小的元素题目大致如下:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例一:输入: root = [3,1,4,null,2], k = 13/ \1 4\2输出: 1示例二:示例三:链接来源于LeetCode:...原创 2019-10-06 01:19:55 · 95 阅读 · 0 评论 -
力扣练习第四十三天——2的幂
力扣练习第四十三天——2的幂题目大致如下:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例一:输入: 1输出: true解释: 2^0= 1示例二:输入: 16输出: true解释: 2^4 = 16示例三:输入: 218输出: false链接来源于LeetCode:https://leetcode-cn.com/problems/power-of-two/...原创 2019-10-07 13:00:23 · 158 阅读 · 0 评论 -
力扣练习第四十四天——二叉搜索树的最近公共祖先
力扣练习第四十四天——二叉搜索树的最近公共祖先题目大致如下:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,...原创 2019-10-08 13:24:49 · 85 阅读 · 0 评论 -
力扣练习第四十五天——二叉树的最近公共祖先
力扣练习第四十五天——二叉树的最近公共祖先题目大致如下:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7...原创 2019-10-09 13:44:38 · 113 阅读 · 0 评论 -
力扣练习第四十六天——删除链表中的节点
力扣练习第四十六天——删除链表中的节点题目大致如下:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例一:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4...原创 2019-10-10 12:37:35 · 108 阅读 · 0 评论 -
力扣练习第四十七天—— 除自身以外数组的乘积
力扣练习第四十七天—— 除自身以外数组的乘积题目大致如下:给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题进阶:你可以在常数空间复杂...原创 2019-10-11 00:29:22 · 122 阅读 · 0 评论 -
力扣练习第四十八天——Nim 游戏
力扣练习第四十八天——Nim 游戏题目大致如下:你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;因为无...原创 2019-10-11 00:42:29 · 111 阅读 · 0 评论 -
力扣练习第四十九天——反转字符串
力扣练习第四十九天——反转字符串题目大致如下:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例一:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”...原创 2019-10-11 00:58:08 · 136 阅读 · 0 评论 -
力扣练习第五十天——反转字符串中的单词 III
力扣练习第五十天——反转字符串中的单词 III题目大致如下:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。链接来源于LeetCode...原创 2019-10-11 01:13:03 · 119 阅读 · 0 评论 -
力扣练习第三十七天——相交链表
力扣练习第三十七天——相交链表题目大致如下:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例一:示例二:示例三:输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2输出:null输入解释:从各自的表头开始算起,链表 A 为 [2,6,4...原创 2019-10-01 11:16:13 · 76 阅读 · 0 评论 -
力扣练习第三十六天——最小栈
力扣练习第三十六天——最小栈题目大致如下:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);...原创 2019-09-29 16:46:51 · 98 阅读 · 0 评论 -
力扣练习第二十四天——子集
力扣练习第二十四天——子集题目大致如下:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2],...原创 2019-09-17 12:36:20 · 92 阅读 · 0 评论 -
力扣练习第二十五天——合并两个有序数组
力扣练习第十五天——合并两个有序数组题目大致如下:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素示例:输入:nums1 = [1,2,3,...原创 2019-09-19 12:47:17 · 85 阅读 · 0 评论 -
力扣练习第二十六天——格雷编码
力扣练习第二十六天——格雷编码题目大致如下:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例一:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也...原创 2019-09-20 14:19:39 · 81 阅读 · 0 评论