E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
lintCode
lintcode
-比较字符串-55
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母您在真实的面试中是否遇到过这个题?样例给出A="ABCD"B="ACD",返回true给出A="ABCD"B="AABC",返回false注意在A中出现的B字符串里的字符不需要连续或者有序classSolution{ public: boolcompareStrings(stringA,stringB){ //
ljlstart
·
2015-09-08 00:00
lintcode
-插入区间
给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。您在真实的面试中是否遇到过这个题?样例插入区间[2,5]到[[1,2],[5,9]],我们得到[[1,9]]。插入区间[3,4]到[[1,2],[5,9]],我们得到[[1,2],[3,4],[5,9]]。/** *DefinitionofInterval
ljlstart
·
2015-09-08 00:00
lintcode
-156-合并区间
给出若干闭合区间,合并所有重叠的部分。样例给出的区间列表=>合并后的区间列表:[[ [1,3],[1,6], [2,6],=>[8,10], [8,10],[15,18] [15,18]] ] 挑战O(n log n)的时间和O(1)的额外空间。/** *DefinitionofInterval: *classsInterval{ *intstart,end; *Interval(intstart
ljlstart
·
2015-09-05 00:00
lintcode
-406-和大于S的最小子数组
给定一个由n个整数组成的数组和一个正整数s,请找出该数组中满足其和≥s的最小长度子数组。如果无解,则返回-1。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [2,3,1,2,4,3] 和s= 7,子数组 [4,3] 是该条件下的最小长度子数组。挑战如果你已经完成了O(n)时间复杂度的编程,请再试试O(nlogn)时间复杂度。classSolution{ public: /** *@par
ljlstart
·
2015-09-04 23:00
lintcode
-硬币排成一条线
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走1或2个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?样例n= 1,返回 true.n= 2,返回 true.n= 3,返回 false.n= 4,返回 true.n= 5,返回 true.动态规划:classSolution{ public: /** *@paramn:aninteger *@return:
ljlstart
·
2015-09-03 16:00
lintcode
-366
查找斐波纳契数列中第N个数。所谓的斐波纳契数列是指:前2个数是0和1。第 i 个数是第 i-1个数和第i-2个数的和。斐波纳契数列的前10个数字是:0,1,1,2,3,5,8,13,21...classSolution{ public: /** *@paramn:aninteger *@returnanintegerf(n) */ mapcheck; intfibonacci(intn){ //w
ljlstart
·
2015-09-03 16:00
lintcode
-436-Maximal Square
classSolution{ public: /** *@parammatrix:amatrixof0and1 *@return:aninteger */ intmin(inta,intb,intc){ a=a>&matrix){ //writeyourcodehere if(matrix.empty()) return0; intn=matrix.size(); intm=matrix[0].
ljlstart
·
2015-09-03 16:00
lintcode
-颠倒整数
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回0(标记为32位整数)classSolution{ public: /** *@paramntheintegertobereversed *@returnthereversedinteger */ intreverseInteger(intn){ //Writeyourcodehere if(n==0) return0; boolflg=
ljlstart
·
2015-09-02 22:00
lintcode
-子树
有两个不同大小的二进制树:T1有上百万的节点;T2有好几百的节点。请设计一种算法,判定T2是否为T1的子树。注意 若T1中存在从节点n开始的子树与T2相同,我们称T2是T1的子树。也就是说,如果在T1节点n处将树砍断,砍断的部分将与T2完全相同。/** *DefinitionofTreeNode: *classTreeNode{ *public: *intval; *
ljlstart
·
2015-09-02 22:00
lintcode
-有效回文字符串
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写例如"Aman,aplan,acanal:Panama"是一个回文。 "raceacar"不是一个回文。classSolution{ public: boolcheck(charch){ if((ch>='a'&&ch='A'&&ch='0'&&ch=0&&check(s[end])){ --end; } while(be
ljlstart
·
2015-09-02 21:00
lintcode
-423
classSolution{ public: boolisValidParentheses(string&s){ //Writeyourcodehere if(0==s.size()||1==s.size()) returnfalse; stackbase; for(autoe:s){ if(e=='('||e=='{'||e=='['){ base.push(e); }else{ intval
ljlstart
·
2015-09-02 20:00
lintcode
-384
classSolution{ public: /** *@params:astring *@return:aninteger */ intlengthOfLongestSubstring(strings){ //writeyourcodehere if(0==s.size()) return0; if(1==s.size()) return1; mapcheck; intmax=INT_MIN,s
ljlstart
·
2015-09-02 19:00
lintcode
-背包问题-92
classSolution{ public: intbackPack(intm,vectorA){ boolf[A.size()+1][m+1]; intsize=A.size(); for(inti=0;i=A[i-1]&&f[i-1][j-A[i-1]]){//保证j-A[i]不是负数 f[i][j]=true; } } } for(inti=m;i>=0;--i){//maxsize
ljlstart
·
2015-09-02 19:00
lintcode
-103
/** *DefinitionofListNode *classListNode{ *public: *intval; *ListNode*next; *ListNode(intval){ *this->val=val; *this->next=NULL; *} *} */ classSolution{ public: /** *@paramhead:Thefirstnodeoflinkedlis
ljlstart
·
2015-09-02 19:00
lintcode
-189
classSolution{ public: /** *@paramA:avectorofintegers *@return:aninteger */ intfindMaxArr(vectorvec) { intmax=vec[0],size=vec.size(); for(inti=1;imax) max=vec[i]; } returnmax; } intfirstMissingPositiv
ljlstart
·
2015-09-02 19:00
lintcode
-罗马数字转整数-419
classSolution{ public: intromanToInt(string&s){ if(s.size()==0) return0; mapcnt; mapcheck; check['I']=true; check['X']=true; check['C']=true; intsum=0; intsize=s.size(); cnt['I']=1;; cnt['X']=10; cn
ljlstart
·
2015-09-02 19:00
lintcode
-422
classSolution{ public: /** *@paramsAstring *@returnthelengthoflastword */ intlengthOfLastWord(string&s){ //Writeyourcodehere if(0==s.size()) return0; inti,size=s.size(); i=size-1; while(i>=0&&s[i]=='
ljlstart
·
2015-09-02 19:00
LintCode
-A + B 用位操作模拟加法
原文链接:http://www.cnblogs.com/resonantPineapple/p/4755398.htmlclassSolution{public:/**@parama:Thefirstinteger*@paramb:Thesecondinteger*@return:Thesumofaandb*/intaplusb(inta,intb){//writeyourcodehere,try
amj1236
·
2015-08-24 17:00
LintCode
-N皇后问题
n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击。给定一个整数n,返回所有不同的n皇后问题的解决方案。每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个女王和一个空位置。您在真实的面试中是否遇到过这个题? Yes样例对于4皇后问题存在两种解决的方案:[ [".Q..",//Solution1 "...Q", "Q...", "..Q."],
wangyuquanliuli
·
2015-08-20 19:00
面试
lintcode
LintCode
-数组划分
给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。您在真实的面试中是否遇到过这个题? Yes样例给出数组nums=[3,2,2,1]和k=2,返回1注意你应该真正的划分数组nums,而不仅仅只是计算比k小的整数数,如果数组nums中的所有元素
wangyuquanliuli
·
2015-08-19 11:00
面试
lintcode
LintCode
-交叉字符串
给出三个字符串:s1、s2、s3,判断s3是否由s1和s2交叉构成。您在真实的面试中是否遇到过这个题? Yes样例比如s1= "aabcc" s2= "dbbca" -当s3= "aadbbcbcac",返回 true. -当s3= "aadbbbaccc",返回false.挑战要求时间复杂度为O(n^2)或者更好标签 Expand 相关题目 Expand 分析:两个字符串的问题,大部分都可
wangyuquanliuli
·
2015-08-19 11:00
面试
lintcode
LintCode
-第k大元素
在数组中找到第k大的元素您在真实的面试中是否遇到过这个题? Yes样例给出数组[9,3,2,4,8],第三大的元素是4给出数组 [1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推注意你可以交换数组中的元素的位置挑战要求时间复杂度为O(n),空间复杂度为O(1)标签 Expand 相关题目 Expand 分析:利用快排的思想,不断partition,代码:cla
wangyuquanliuli
·
2015-08-18 20:00
面试
lintcode
LintCode
-A + B 问题
给出两个整数a和b,求他们的和,但不能使用 + 等数学运算符。您在真实的面试中是否遇到过这个题? Yes样例如果 a=1 并且 b=2,返回3注意你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。挑战显然你可以直接returna+b,但是你是否可以挑战一下不这样做?说明a和b都是 32位 整数么?是的我可以使用位运算符么?当然可以标签 Expand 分析:
wangyuquanliuli
·
2015-08-18 17:00
面试
lintcode
LintCode
-丑数
设计一个算法,找出只含素因子3,5,7 的第 k 大的数。符合条件的数如:3,5,7,9,15......您在真实的面试中是否遇到过这个题? Yes样例如果k=4,返回 9挑战要求时间复杂度为O(nlogn)或者O(n)标签 Expand 相关题目 Expand 分析:分别设三个指针,表明乘以3,5,7会大于当前丑数的index代码:classSolution{ public: /* *@par
wangyuquanliuli
·
2015-08-18 17:00
面试
lintcode
LintCode
-买卖股票的最佳时机
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。您在真实的面试中是否遇到过这个题? Yes样例给出一个数组样例 [3,2,3,1,2],返回1 标签 Expand 相关题目 Expand 分析:对于每一天来说,它能得到的最大利益就是它和之前最低点的差代码:classSolution{ public: /
wangyuquanliuli
·
2015-08-13 21:00
面试
lintcode
LintCode
-加油站
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1。您在真实的面试中是否遇到过这个题? Yes样例现在有4个加油站,汽油量gas[i]=[1,1,3,1
wangyuquanliuli
·
2015-08-13 19:00
面试
lintcode
LintCode
-赋值运算符重载
实现赋值运算符重载函数,确保:新的数据可准确地被复制旧的数据可准确地删除/释放可进行 A=B=C 赋值您在真实的面试中是否遇到过这个题? Yes样例如果进行 A=B 赋值,则A中的数据被删除,取而代之的是B中的数据。如果进行 A=B=C 赋值,则A和B都复制了C中的数据。挑战充分考虑安全问题,并注意释放旧数据。说明本题只适用于C++,因为 Java 和 Python 没有对赋值运算符的重载机制。标
wangyuquanliuli
·
2015-08-12 21:00
面试
lintcode
LintCode
-两个整数相除
将两个整数相除,要求不使用乘法、除法和mod运算符。如果溢出,返回 2147483647 。您在真实的面试中是否遇到过这个题? Yes样例给定被除数= 100 ,除数= 9,返回 11。标签 Expand 相关题目 Expand 分析:既然不能乘法和除法,那肯定就只能位操作了,然后如果用减法的话,太慢了,必须想点二进制的方法来加速,另外注意越界问题代码:classSolution{ public
wangyuquanliuli
·
2015-08-12 21:00
面试
lintcode
LintCode
-最长回文子串
给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。您在真实的面试中是否遇到过这个题? Yes样例给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。挑战O(n2)时间复杂度的算法是可以接受的,如果你能用O(n)的算法那自然更好。标签 Expand 相关题目 Expand 分析:尝试写了遍manacher算法。其中p[i]表
wangyuquanliuli
·
2015-08-12 20:00
面试
lintcode
LintCode
-分糖果
有 N 个小孩站成一列。每个小孩有一个评级。按照以下要求,给小孩分糖果:每个小孩至少得到一颗糖果。评级越高的小孩可以得到更多的糖果。需最少准备多少糖果?您在真实的面试中是否遇到过这个题? Yes样例给定评级= [1,2],返回 3.给定评级= [1,1,1],返回 3.给定评级= [1,2,2],返回 4.([1,2,1]).标签 Expand 分析:其实题目描述的有点问题,不是评级越高的小孩可
wangyuquanliuli
·
2015-08-11 20:00
面试
lintcode
LintCode
-和大于S的最小子数组
给定一个由n个整数组成的数组和一个正整数s,请找出该数组中满足其和≥s的最小长度子数组。如果无解,则返回-1。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [2,3,1,2,4,3] 和s= 7,子数组 [4,3] 是该条件下的最小长度子数组。挑战如果你已经完成了O(n)时间复杂度的编程,请再试试O(nlogn)时间复杂度。标签 Expand 相关题目 Expand 分析:数组的题目一
wangyuquanliuli
·
2015-08-11 20:00
面试
lintcode
LintCode
-Copy Books
GivenanarrayAofintegerwithsizeofn(meansnbooksandnumberofpagesofeachbook)andkpeopletocopythebook.Youmustdistributethecontinuousidbookstoonepeopletocopy.(YoucangivebookA[1],A[2]toonepeople,butyoucannotg
wangyuquanliuli
·
2015-08-10 20:00
面试
lintcode
LintCode
-通配符匹配
判断两个可能包含通配符“?”和“*”的字符串是否匹配。匹配规则如下:'?'可以匹配任何单个字符。 '*'可以匹配任意字符串(包括空字符串)。 两个串完全匹配才算匹配成功。 函数接口如下: boolisMatch(constchar*s,constchar*p)您在真实的面试中是否遇到过这个题? Yes样例一些例子:isMatch("aa","a")→false isMatch("aa","aa
wangyuquanliuli
·
2015-08-09 19:00
面试
lintcode
LintCode
-最大子数组 III
给定一个整数数组和一个整数k,找出k个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。您在真实的面试中是否遇到过这个题? Yes样例给出数组[-1,4,-2,3,-2,3]以及k=2,返回8注意子数组最少包含一个数挑战要求时间复杂度为O(n)标签 Expand 相关题目 Expand 分析:做不到题目要求的挑战,只能想到前i个数里面取了j段,这样dp[i]
wangyuquanliuli
·
2015-08-09 16:00
面试
lintcode
LintCode
-k数和
给定n个不同的正整数,整数k(kA,intk,inttarget){ //wirteyourcodehere intn=A.size(); vector>dp(k+1,vector(target+1,0)); dp[0][0]=1; for(autoa:A) { for(inti=k;i>=1;i--) { for(intj=target;j>=a;j--) { dp[i][j]+=dp[i-1]
wangyuquanliuli
·
2015-08-09 15:00
面试
lintcode
LintCode
-分割回文串 II
给定一个字符串s,将s分割成一些子串,使每个子串都是回文。返回s符合要求的的最少分割次数。您在真实的面试中是否遇到过这个题? Yes样例比如,给出字符串s= "aab",返回1,因为进行一次分割可以将字符串s分割成["aa","b"]这样两个回文子串标签 Expand 相关题目 Expand 分析:一开始写了个n的三次的dp,结果超时,差不多是dp[i][j]=min(dp[i][k]+dp[k
wangyuquanliuli
·
2015-08-09 14:00
面试
lintcode
LintCode
-硬币排成线
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走1或2个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。请判定 第一个玩家 是输还是赢?您在真实的面试中是否遇到过这个题? Yes样例n= 1,返回 true.n= 2,返回 true.n= 3,返回 false.n= 4,返回 true.n= 5,返回 true.挑战O(1)时间复杂度且O(1)存储。标签 Expand 相关题目 Expa
wangyuquanliuli
·
2015-08-08 19:00
面试
lintcode
LintCode
-带环链表 II
给定一个链表,如果链表中存在环,则返回到链表中环的起始节点的值,如果没有环,返回null。您在真实的面试中是否遇到过这个题? Yes样例给出 -21->10->4->5,tailconnectstonodeindex1,返回10挑战不使用额外的空间标签 Expand 相关题目 Expand 分析:首先肯定可以利用快慢指针来判断该链表中有没有环,如果快慢指针能够遇到,那么肯定存在环,那么完全可以把
wangyuquanliuli
·
2015-08-08 16:00
面试
lintcode
LintCode
-排序列表转换为二分查找树
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树您在真实的面试中是否遇到过这个题? Yes样例标签 Expand 相关题目 Expand 分析:就是一个简单的递归,只是需要有些链表的操作而已代码:/** *DefinitionofListNode *classListNode{ *public: *intval; *ListNode*next; *ListNode(intv
wangyuquanliuli
·
2015-08-08 16:00
面试
lintcode
LintCode
-删除排序链表中的重复数字 II
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。您在真实的面试中是否遇到过这个题? Yes样例给出1->2->3->3->4->4->5->null,返回1->2->5->null给出1->1->1->2->3->null,返回 2->3->null标签 Expand 分析:因为是排序链表,所以每次判断和后面的是不是一样就行,一样就一直把这个相同的遍历到不同的点代码:/** *
wangyuquanliuli
·
2015-08-08 15:00
面试
lintcode
LintCode
-旋转链表
给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数您在真实的面试中是否遇到过这个题? Yes样例给出链表1->2->3->4->5->null和k=2返回4->5->1->2->3->null标签 Expand 相关题目 Expand 分析:感觉很直观,直接把分割点找出来就行,记得k可能大于len,要取模代码:/** *Definitionforsingly-linkedl
wangyuquanliuli
·
2015-08-08 15:00
面试
lintcode
LintCode
- Sort Colors II
阅读更多Givenanarrayofnobjectswithkdifferentcolors(numberedfrom1tok),sortthemsothatobjectsofthesamecolorareadjacent,withthecolorsintheorder1,2,...k.Haveyoumetthisquestioninarealinterview?YesExampleGivenco
yuanhsh
·
2015-08-08 14:00
Counting
Sort
LintCode
- Sort Colors II
Givenanarrayof n objectswith k differentcolors(numberedfrom1tok),sortthemsothatobjectsofthesamecolorareadjacent,withthecolorsintheorder1,2,...k. Haveyoumetthisquestioninarealinterview? YesExampleGiven
yuanhsh
·
2015-08-08 14:00
sort
Counting
LintCode
-LRU缓存策略
为最近最少使用(LRU)缓存策略设计一个数据结构,它应该支持以下操作:获取数据(get)和写入数据(set)。获取数据get(key):如果缓存中存在key,则获取其数据值(通常是正数),否则返回-1。写入数据set(key,value):如果key还没有在缓存中,则写入其数据值。当缓存达到上限,它应该在写入新数据之前删除最近最少使用的数据用来腾出空闲位置。您在真实的面试中是否遇到过这个题? Ye
wangyuquanliuli
·
2015-08-08 13:00
面试
lintcode
九章算法面试题78 有效回文串
在线评测本题:http://www.
lintcode
.com/zh-cn/problem/valid-palindrome/解答这道题其实是一道常见的细节考察题,虽然看似不太难,但是却有几个坑点需要考虑
九章算法
·
2015-08-01 05:19
九章算法面试题
LintCode
- Search Range in Binary Search Tree
Given two values k1 and k2 (where k1 < k2) and a root pointer to a Binary Search Tree. Find all the keys of tree in range k1 to k2. i.e. print all x such that k1<=x<=k2 and x is a key of give
yuanhsh
·
2015-07-30 23:00
Binary search
【面试题】在O(1)时间复杂度删除链表节点
(372)DeleteNodeintheMiddleofSinglyLinkedListhttp://www.
lintcode
.com/zh-cn/problem/delete-node-in-the-
zwhlxl
·
2015-07-28 15:00
Lintcode
比较字符串
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母样例给出A="ABCD"B="ACD",返回true给出A="ABCD"B="AABC",返回false注意在A中出现的B字符串里的字符不需要连续或者有序。解题思路:首先将字符串A,B转换为字符数组,并对字符数组进行排序,得到有序的字符数组。然后利用两根指针查找A,B字符数组中相同的字符,并记录相同字符的长度le
lbf8023
·
2015-07-27 22:38
Lintcode
九章算法面试题77 插入区间
在线评测本题:http://www.
lintcode
.com/zh-cn/problem/insert-interval/解答这道题主要考察的是细节处理的过程,因为插入后
九章算法
·
2015-07-18 10:02
九章算法面试题
Android AOSP输入法(LatinIME)输入流程二
@OverridepublicvoidonCodeInput(fina
lintcode
Point,finalintx,finalinty,finalbooleanisKeyRepeat){finalM
Clark.Ding
·
2015-07-13 21:16
Android
上一页
79
80
81
82
83
84
85
86
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他