![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lintcode
文章平均质量分 66
rosychan
这个作者很懒,什么都没留下…
展开
-
入门_463_整数排序(35%)
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。1.冒泡排序算法思路很简单,遍历数组,把当前数字的后面所有的数字都遍历一遍,遇到小的跟当前数字交换,这样遍历的过程中,所有大的数字就像气泡一样都到数组的后面去了,这也是为啥叫冒泡排序转载 2017-07-03 15:44:13 · 177 阅读 · 0 评论 -
容易_82_落单的数(5)
给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例 给出 [1,2,2,1,3,4,3],返回 4思路:通过异或,相同的数结果为0,那么最后的结果一定是落单的数字。参考代码:class Solution {public: /** * @param A: Array of intege原创 2017-07-06 15:35:04 · 186 阅读 · 0 评论 -
中等_384_最长无重复字符的子串(6)
class Solution {public: /** * @param s: a string * @return: an integer */ int lengthOfLongestSubstring(string s) { // write your code here int m[256]转载 2017-07-07 09:15:07 · 200 阅读 · 0 评论 -
【堆栈】[Lintcode]有效的括号序列
描述:给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}','[' and ']', 判定是否是有效的括号序列。样例: 括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。''{[()]}''也是有效的!!!!!这道题让我们验证输入的字符串是否为括号字符串,包括大括号,中括号转载 2017-07-16 16:01:20 · 249 阅读 · 0 评论 -
[Lintcode]最长公共前缀
描述:给k个字符串,求出他们的最长公共前缀(LCP)样例: 在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"解题思路: 这道题让我们求一系列字符串的共同前缀,没有什么特别的技巧,无脑查找即可,我们定义两个变量i和j,其中i是转载 2017-07-16 17:48:06 · 252 阅读 · 0 评论 -
【数组】[Lintcode]加一
描述:给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。样例 给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0]. 将一个数字的每个位上的数字分别存到一个一维向量中,最高位在最开头,我们需要给这个数字加转载 2017-07-16 19:17:05 · 322 阅读 · 0 评论 -
容易_431_反转整数(7)
后备知识:1.long long 表示的是64bitint 表示的是32bit2.INT_MIN:int取值范围内的最小值;INT_MAX:int取值范围内的最大值32位的int型的取值是2147483647 到 -2147483648,但是,在C/C++语言中,你不能直接使用 -2147483648 来代替最小负数,因为它不是一个数,而是一个表达式。表达式是:“对正数214748转载 2017-07-07 11:17:34 · 212 阅读 · 0 评论 -
[Lintcode]爬梯子
描述:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例: 比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法返回 3 这个爬梯子问题最开始看的时候没搞懂是让干啥的,后来看了别人的分析后,才知道实际上跟斐波那契数列非常相似,假设梯子有n层,那么如何爬到第n层呢,因为每次只能怕1或2转载 2017-07-17 10:33:20 · 792 阅读 · 0 评论 -
【链表】[Lintcode]合并两个排序链表
描述:将两个排序链表合并为一个新的排序链表样例: 给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。 具体思想就是新建一个链表,然后比较两个链表中的元素值,把较小的那个链到新链表中,由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接另一个未完成的链表转载 2017-07-17 11:12:00 · 226 阅读 · 0 评论 -
[未解决][lintcode]带最小值操作的栈
解法一:http://www.cnblogs.com/grandyang/p/4091064.html解法二:http://blog.csdn.net/kkdd2013/article/details/51919451调试都没有通过转载 2017-07-08 10:13:27 · 163 阅读 · 0 评论 -
困难_65_两排序数组的中位数(4)
http://www.cnblogs.com/grandyang/p/4465932.html转载 2017-07-06 15:07:25 · 171 阅读 · 0 评论 -
容易_53_翻转字符串(2)
http://www.cnblogs.com/grandyang/p/6065544.html原创 2017-07-05 18:53:40 · 139 阅读 · 0 评论 -
容易_204_单例(37%)
单例模式:单例 是最为最常见的设计模式之一。对于任何时刻,某个类只存在且最多存在一个具体的实例。----------------------------------------------------C++实现单例模式的思路是:类成员包含一个类对象的指针,在构造函数执行之前加一道防线,通过一个函数检查是不是已经产生过一个对象了,如果产生了,就直接返回这个指针即可,如果没有产转载 2017-07-03 18:08:29 · 235 阅读 · 0 评论 -
[lintcode]最长回文子串
问题描述:给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Mi转载 2017-07-12 19:23:49 · 196 阅读 · 0 评论 -
[Lintcode]翻转链表
翻转一个链表样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 分析:/** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next; * * ListN转载 2017-07-12 20:56:33 · 198 阅读 · 0 评论 -
[Lintcode]带环链表
描述:给定一个链表,判断它是否有环。样例 :给出 -21->10->4->5, tail connects to node index 1,返回 true思路: 使用两个指针,初始时两个指针均指向链表头位置,然后一个指针每次走两步,一个指针每次走一步,如果在循环过程中遇到两个指针相等,则说明有循环返回true。如果出现一个指针无法继续往下走,则退出循环返回false转载 2017-07-13 10:13:31 · 153 阅读 · 0 评论 -
[Lintcode]主元素
描述:给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的【二分之一】。注意事项 You may assume that the array is non-empty and the majority number always exist in the array.样例 给出数组[1,1,1,1,2,2,2],返回 1 比较转载 2017-07-13 10:54:43 · 154 阅读 · 0 评论 -
[Lintcode]罗马数字转整数
描述:给定一个罗马数字,将其转换成整数。返回的结果要求在1到3999的范围内。样例:IV -> 4XII -> 12XXI -> 21XCIX -> 99罗马数转化成数字问题,我们需要对于罗马数字很熟悉才能完成转换。以下截自百度百科:罗马数字是最早的数字表示方式,比阿拉伯数字早2000多年,起源于罗马。如今我们最常见的罗马数字转载 2017-07-13 15:07:19 · 264 阅读 · 0 评论 -
[Lintcode]三数之和
描述:给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。注意事项:在三元组(a, b, c),要求a 结果不能包含重复的三元组!!!样例:如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:(-1, 0, 1)(-1, -1, 2)转载 2017-07-15 09:55:36 · 216 阅读 · 0 评论 -
容易_167_链表求和(3)
你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。样例给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null/** * Definition for singly-linked list. * struct Lis原创 2017-07-06 10:20:46 · 182 阅读 · 0 评论 -
容易_56_两数之和(1)
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。样例给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].solution:方法一:使原创 2017-07-04 15:04:12 · 314 阅读 · 0 评论 -
[lintcode]二叉树的最大深度
问题描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例:给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.思路分析:遍历每个节点,返回该节点左右子树中深度较大的一个/** * Definition of TreeNode:转载 2017-07-08 10:44:46 · 184 阅读 · 0 评论