面试
文章平均质量分 75
rosychan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
入门_463_整数排序(35%)
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。1.冒泡排序算法思路很简单,遍历数组,把当前数字的后面所有的数字都遍历一遍,遇到小的跟当前数字交换,这样遍历的过程中,所有大的数字就像气泡一样都到数组的后面去了,这也是为啥叫冒泡排序转载 2017-07-03 15:44:13 · 229 阅读 · 0 评论 -
【链表】[Lintcode]合并两个排序链表
描述:将两个排序链表合并为一个新的排序链表样例: 给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。 具体思想就是新建一个链表,然后比较两个链表中的元素值,把较小的那个链到新链表中,由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接另一个未完成的链表转载 2017-07-17 11:12:00 · 306 阅读 · 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 · 932 阅读 · 0 评论 -
【数组】[Lintcode]加一
描述:给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。样例 给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0]. 将一个数字的每个位上的数字分别存到一个一维向量中,最高位在最开头,我们需要给这个数字加转载 2017-07-16 19:17:05 · 408 阅读 · 0 评论 -
[Lintcode]最长公共前缀
描述:给k个字符串,求出他们的最长公共前缀(LCP)样例: 在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A"在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"解题思路: 这道题让我们求一系列字符串的共同前缀,没有什么特别的技巧,无脑查找即可,我们定义两个变量i和j,其中i是转载 2017-07-16 17:48:06 · 311 阅读 · 0 评论 -
【堆栈】[Lintcode]有效的括号序列
描述:给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}','[' and ']', 判定是否是有效的括号序列。样例: 括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。''{[()]}''也是有效的!!!!!这道题让我们验证输入的字符串是否为括号字符串,包括大括号,中括号转载 2017-07-16 16:01:20 · 320 阅读 · 0 评论 -
容易_56_两数之和(1)
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。样例给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].solution:方法一:使原创 2017-07-04 15:04:12 · 362 阅读 · 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 · 266 阅读 · 0 评论 -
[Lintcode]罗马数字转整数
描述:给定一个罗马数字,将其转换成整数。返回的结果要求在1到3999的范围内。样例:IV -> 4XII -> 12XXI -> 21XCIX -> 99罗马数转化成数字问题,我们需要对于罗马数字很熟悉才能完成转换。以下截自百度百科:罗马数字是最早的数字表示方式,比阿拉伯数字早2000多年,起源于罗马。如今我们最常见的罗马数字转载 2017-07-13 15:07:19 · 341 阅读 · 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 · 209 阅读 · 0 评论 -
[Lintcode]带环链表
描述:给定一个链表,判断它是否有环。样例 :给出 -21->10->4->5, tail connects to node index 1,返回 true思路: 使用两个指针,初始时两个指针均指向链表头位置,然后一个指针每次走两步,一个指针每次走一步,如果在循环过程中遇到两个指针相等,则说明有循环返回true。如果出现一个指针无法继续往下走,则退出循环返回false转载 2017-07-13 10:13:31 · 209 阅读 · 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 · 251 阅读 · 0 评论 -
[lintcode]最长回文子串
问题描述:给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Mi转载 2017-07-12 19:23:49 · 257 阅读 · 0 评论 -
容易_204_单例(37%)
单例模式:单例 是最为最常见的设计模式之一。对于任何时刻,某个类只存在且最多存在一个具体的实例。----------------------------------------------------C++实现单例模式的思路是:类成员包含一个类对象的指针,在构造函数执行之前加一道防线,通过一个函数检查是不是已经产生过一个对象了,如果产生了,就直接返回这个指针即可,如果没有产转载 2017-07-03 18:08:29 · 278 阅读 · 0 评论 -
[lintcode]二叉树的最大深度
问题描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例:给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.思路分析:遍历每个节点,返回该节点左右子树中深度较大的一个/** * Definition of TreeNode:转载 2017-07-08 10:44:46 · 224 阅读 · 0 评论
分享