leetcode解题记录
文章平均质量分 77
放荡不羁笑点低233
这个作者很懒,什么都没留下…
展开
-
leetcode 第一题:使用哈希表解决
题目大意:给定一个整数,试从给定的vector中寻找到两个成员,使它们的和等于给定的整数。说明:默认答案具有唯一解,且同一个成员不可以使用两次。例子:对于[2,7,11,13],给定整数18,则应当返回成员“7”和“11”在此vector中的位置1和2。解题思路: 刚刚看到这道题的时候感觉非常简单,但随即脑海中冒出几个问题: 1.vector中有重复元素原创 2017-08-21 15:57:35 · 1694 阅读 · 0 评论 -
数独问题的c++解决
今天在刷leetcode的时候遇见一道难度为hard的题目,大意是解出给定的数独。感觉比较有应用的价值,便尝试着去做了一下。 首先明确数独问题必有唯一可行解。求数独有效解的基本思想是利用回溯法:从挖空的地方开始,从1到9逐个地去尝试可能的解。如果当前行、列以及所在大方格没有出现重复,则解被暂时接受,并开始尝试以相同的方式求解下一个空格。如果1到9均不成为有效解,则后退至上一个空格,原创 2017-11-05 21:17:07 · 2452 阅读 · 0 评论 -
leetcode 第53题 Maximum Subarray:动态规划的活用
题目大意: 给定一个非空的整数数组nums[],要求求得它的一个子数组,使得该子数组所有成员的和是所有子串中最大的。注意:子数组的所有成员位置上必需是左右相邻的。示例: 给出整数数组[-2,1,-3,4,-1,2,1,-5,4],可求得它的子数组[4,-1,2,1]的各位成员和是所有子数组中最大的,为6。解题思路: 刷了近两个月的题,原创 2017-10-14 16:13:42 · 935 阅读 · 0 评论 -
leetcode 第79题:BFS(广度优先搜索)的简单应用
题目大意: 给出一个二维数组,再给出一个字符串,试问该字符串是否存在于这个二维数组中?题目说明: 所谓“字符串存在于二维数组中”,即从二维数组的任一元素出发,从上下左右四个方向“前进”,直到找到整条字符串。原创 2017-09-21 17:33:33 · 2358 阅读 · 2 评论 -
leetcode 第220题:Contains Duplicate III——数据结构与容器的合理选用
题目大意: 给定一个整数序列nums和两个整数t和k,要求检查能否在该序列中找到两个元素nums[i]与nums[j],满足:i与j的差的绝对值小于k且nums[i]与nums[j]的差的绝对值小于t。解题思路: 本题题面很简单,解题思路也很明了:使用滑动窗口的方式遍历数组。因为要求i与i的差的绝对值小于i,因此需要比较k+1个元素的值,窗口长度原创 2017-09-29 15:25:03 · 284 阅读 · 0 评论 -
leetcode 第32题:动态规划思想与堆栈的灵活使用
题目大意: 给定一个只用’(‘和’)’组成的字符串,输入其最长合法成对子串的长度。示例: 输入:(()),则应当输出整数4;输入:(()()),则应当输出整数6;输入:((())),应当输出6。原创 2017-09-01 15:35:18 · 618 阅读 · 0 评论 -
leetcode 第23题:关于递归的一些思考与应用
题目大意:给出若干已经排好序链表的头节点指针,将它们合并成一个成序的链表,返回其头结点指针。示例:给定链表:1->2->3 和 4->6->8,则应当返回链表 1->2->3->4->6->8的头节点指针。原创 2017-09-07 13:25:44 · 786 阅读 · 0 评论 -
leetcode 第四题:动态规划思想的应用
题目大意:给定一个字符串,找出其最长的子回文串将其返回。所谓回文串,即倒序排列与正序排列一致。说明:假定字符串长度不超过1000示例:输入"babad",输出"bab"或者"aba"解题思路:关于题目有几点要注意的。一是题目默认是有解的,当输入如"abcde"的形式时,解当为"a"或者任一字符代表的字符串;二是有多个解,只需输出一个即可。 在思考这道题时,最先冒出的想原创 2017-08-29 14:16:16 · 882 阅读 · 0 评论 -
leetcode 第三题:标准容器set与map的使用
题目大意:给出一个字符串,找到该字符串中不含重复字符的最长子串,返回其长度。示例:给出子串:abcabcbb,其最长子串是“abc”,则返回其长度值3。解题思路:看到题目,首先想到的最“笨”的方法就是从第一个字符开始,逐个向后遍历,遇见相同字符则停止,循环该过程,记录并更新子串的最大长。但这么做算法复杂度很高,不推荐使用。 随后我开始寻找其他解决方法。最初是希望能建立一个原创 2017-08-27 10:23:34 · 1496 阅读 · 0 评论 -
leetcode 第二题:链表的使用
题目大意:给定两个非空链表,分别代表两个非负整数。注意是以倒序的方式存储,并且一个节点存储一位数字。要求将这两个数相加,并将结果以链表的形式返回。说明:这两个数均不包含前导的0,除非这个数就是0。示例:输入链表:(2 -> 4 -> 3) 和链表(5 -> 6 -> 4),代表数字342与465求和,结果为807,输出形式:7 -> 0 -> 8,即倒序输出。解题思路:刚读完题的第一想原创 2017-08-25 15:04:04 · 460 阅读 · 0 评论 -
leetcode 第15题:两数求和的扩展
题目大意: 给定一个包含n个整数的数组,试问能否找到三个的元素,使得它们的和为零?返回所有可能的元素集合。原创 2017-09-04 17:09:47 · 406 阅读 · 0 评论 -
leetcode 第751题:将IP地址转化为CIDR的C++实现
上周报名leetcode一周一次的contest,但没注意是限时一个半小时内做完,误了时间。尽管如此,还是尝试去做了constest中的四道题。第一题很简单,第二题就是751题,即将一个IP地址转化为CIDR。 以题目所给例子为例。参数中给出的IP是“255.0.0.7”,要涵盖的地址数目是10。“255.0.0.7”转化成二进制表示法就是“11111111.00000000.00原创 2017-12-27 11:23:18 · 1630 阅读 · 0 评论