LintCode
文章平均质量分 81
lhanchao
有问题请留言,私信不回,请见谅
展开
-
LintCode笔记(9)——合并排序数组 与vector的insert和erase总结笔记
合并两个排序的整数数组A和B变成一个新的数组。您在真实的面试中是否遇到过这个题? Yes样例给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]挑战 你能否优化你的算法,如果其中一个数组很大而另一个数组很小?这道题题目的原理很简单,即便是挑战的内容也很简单,就是遍历两个数组,原创 2016-08-03 10:49:51 · 843 阅读 · 0 评论 -
LintCode笔记(11)—— 带重复元素的子集
给定一个可能具有重复数字的列表,返回其所有可能的子集 注意事项子集中的每个元素都是非降序的两个子集间的顺序是无关紧要的解集中不能包含重复子集您在真实的面试中是否遇到过这个题? Yes样例如果 S = [1,2,2],一个可能的答案为:[ [2], [1], [1,2,2], [2,2], [1,原创 2017-01-20 10:00:50 · 1598 阅读 · 0 评论 -
LintCode笔记(6)——尾部的零
设计一个算法,计算出n阶乘中尾部零的个数您在真实的面试中是否遇到过这个题? Yes样例11! = 39916800,因此应该返回 2挑战 O(logN)的时间复杂度这个问题其实是一个数学问题,编程很容易解决。我们可以这样想比如N!= 1 * 2 * 3 * 4 * 5 * 6 * 7 * … * N-1 *原创 2016-07-27 09:46:04 · 669 阅读 · 0 评论 -
LintCode笔记(1)——硬币排成线
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?样例n = 1, 返回 true.n = 2, 返回 true.n = 3, 返回 false.n = 4, 返回 true.n = 5, 返回 true.具体的解释在注释里,这里注意求得原创 2016-07-24 20:38:26 · 464 阅读 · 0 评论 -
LintCode笔记(2)——罗马数字转整数
问题:给定一个罗马数字,将其转换成整数。返回的结果要求在1到3999的范围内。样例 IV -> 4XII -> 12XXI -> 21XCIX -> 99首先需要说明罗马数字的原理,如下所示:罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作数字、即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。记原创 2016-07-25 10:26:57 · 705 阅读 · 0 评论 -
LintCode笔记(3)——二叉树的先序遍历
给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3].挑战:不用递归做。首先回顾一下二叉树的先序遍历,中序遍历和后序遍历。二叉树的先序遍历:先遍历根,再遍历左子树和右原创 2016-07-25 11:35:07 · 822 阅读 · 0 评论 -
LintCode笔记(4)——二叉树的层次遍历II
给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7按照从下往上的层次遍历为:[ [15,7],原创 2016-07-25 21:10:04 · 505 阅读 · 0 评论 -
LintCode笔记(5)——整数转罗马数字
给定一个整数,将其转换成罗马数字。返回的结果要求在1-3999的范围内。您在真实的面试中是否遇到过这个题? Yes说明什么是 罗马数字?https://en.wikipedia.org/wiki/Roman_numeralshttps://zh.wikipedia.org/wiki/%E7%BD%97%E9%A9%AC%E6%95%B0%原创 2016-07-26 08:54:00 · 477 阅读 · 0 评论 -
LintCode笔记(7)——统计数字
计算数字k在0到n中的出现的次数,k可能是0~9的一个值您在真实的面试中是否遇到过这个题? Yes样例例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)费了很大的力气找比较简单的方法,最后还是没有实现,只能用暴力破解。。思路就原创 2016-07-27 16:05:48 · 2054 阅读 · 1 评论 -
LintCode笔记(8)——丑数II
Ugly number is a number that only have factors 2, 3 and 5.Design an algorithm to find the nth ugly number. The first 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12... NoticeNote that原创 2016-08-01 08:28:16 · 5339 阅读 · 2 评论 -
LintCode笔记(10)——二分查找
给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。您在真实的面试中是否遇到过这个题? Yes样例在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。挑战 如果数组中的整数个数超过了原创 2016-09-27 19:39:23 · 744 阅读 · 0 评论 -
LintCode笔记(12)——第k大元素
在数组中找到第k大的元素 注意事项你可以交换数组中的元素的位置您在真实的面试中是否遇到过这个题? Yes样例给出数组 [9,3,2,4,8],第三大的元素是 4给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推挑战 要求时间复杂度为O(n),空原创 2016-08-01 17:19:00 · 1748 阅读 · 0 评论