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
-装最多水的容器-383
给定n个非负整数a1,a2,...,an,每个数代表了坐标中的一个点(i,ai)。画n条垂直线,使得i垂直线的两个端点分别为(i,ai)和(i,0)。找到两条线,使得其与x轴共同构成一个容器,以容纳最多水。样例给出[1,3,2],最大的储水面积是2.注意容器不可倾斜。classSolution{ public: intmaxArea(vector&heights){ if(heights.emp
ljlstart
·
2015-10-14 23:00
lintcode
-木材加工-183
有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。样例有3根木头[232,124,456],k=7,最大长度为114.注意木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是整数。无法切出要求至少k段的,则返回0即可。挑战O(nlogLen),Len为n段
ljlstart
·
2015-10-14 22:00
lintcode
-分割回文串-136
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的回文串分割方案。样例给出s="aab",返回 [ ["aa","b"], ["a","a","b"] ]classSolution{ public: vector>partition(strings){ solve(s,s.length(),0); returnresult; } private: boolisPali
ljlstart
·
2015-10-14 21:00
lintcode
-背包问题II-125
给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大?样例对于物品体积[2,3,5,7]和对应的价值[1,5,2,4],假设背包大小为10的话,最大能够装入的价值为9。注意A[i],V[i],n,m均为整数。你不能将物品进行切分。你所挑选的物品总体积需要小于等于给定的m。classSolution{ public: intbackPackII(int
ljlstart
·
2015-10-14 21:00
lintcode
-快速幂-125
计算an %b,其中a,b和n都是32位的整数。样例例如231 %3=2例如1001000 %1000=0挑战O(logn)classSolution{ public: intfastPower(inta,intb,intn){ if(0==n) return1%b; if(1==n) returna%b; longPow=fastPower(a,b,n/2); Pow=(Pow*Pow)%b;
ljlstart
·
2015-10-14 20:00
lintcode
-在O(1)时间复杂度删除链表节点-327
给定一个单链表中的表头和一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。并在删除该节点后,返回表头。样例给定1->2->3->4,和节点3,返回1->2->4/** *DefinitionofListNode *classListNode{ *public: *intval; *ListNode*next; *ListNode(intval){ *this->val=
ljlstart
·
2015-10-14 19:00
lintcode
-搜索旋转排序数组II-63
跟进“搜索旋转排序数组”,假如有重复元素又将如何?是否会影响运行时间复杂度?如何影响?为何会影响?写出一个函数判断给定的目标值是否出现在数组中。样例给出[3,4,4,5,7,0,1,2]和target=4,返回trueclassSolution{ public: boolsearch(vector&A,inttarget){ if(A.empty()) returnfalse; intlow=
ljlstart
·
2015-10-13 21:00
lintcode
-二叉树的锯齿形层次遍历-71
给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 样例给出一棵二叉树 {3,9,20,#,#,15,7},3 /\ 920 /\ 157返回其锯齿形的层次遍历为:[ [3], [20,9], [15,7] ] /** *DefinitionofTreeNode: *classTreeNode{ *public: *intval; *TreeNode*
ljlstart
·
2015-10-13 20:00
lintcode
-简化路径-421
给定一个文档(Unix-style)的完全路径,请进行路径简化。样例"/home/",=>"/home""/a/./b/../../c/",=>"/c"挑战你是否考虑了路径="/../"的情况?在这种情况下,你需返回"/"。此外,路径中也可能包含双斜杠'/',如"/home//foo/"。在这种情况下,可忽略多余的斜杠,返回"/home/foo"解题思路: 1.用split函数切割以“
ljlstart
·
2015-10-13 19:00
lintcode
-矩阵的之字型遍历 -185
给你一个包含mxn个元素的矩阵(m行,n列),求该矩阵的之字型遍历。您在真实的面试中是否遇到过这个题?样例对于如下矩阵:[ [1,2,3,4], [5,6,7,8], [9,10,11,12] ] 返回[1,2,5,9,6,3,4,7,10,11,8,12]classSolution{ public: vectorprintZMatrix(vector>&arr){ vectorret; re
ljlstart
·
2015-10-12 23:00
LintCode
: 排颜色 II
LintCode
:排颜色II给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,…k的顺序进行排序。
u012225151
·
2015-10-12 17:00
lintcode
LintCode
: 最长公共子串
LintCode
:最长公共子串给出两个字符串,找到最长公共子串,并返回其长度。与
LintCode
上的另一题类似,不同的是“串”是连续的,而“序列”不要求连续。
u012225151
·
2015-10-12 16:00
lintcode
LintCode
: 最长公共子序列
LintCode
:最长公共子序列给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。动态规划。大神July讲的很详细,请大家移步这里。
u012225151
·
2015-10-12 16:00
字符串
动态规划
lintcode
LintCode
: 颠倒整数
LintCode
:颠倒整数将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回0(标记为32位整数)。
u012225151
·
2015-10-12 14:00
lintcode
lintcode
-将表达式转换为逆波兰表达式-370
给定一个表达式字符串数组,返回该表达式的逆波兰表达式(即去掉括号)。样例对于[3-4+5]的表达式(该表达式可表示为["3","-","4","+","5"]),返回[34-5+](该表达式可表示为["3","4","-","5","+"])classSolution{ public: inlinevoidinit() { level["+"]=0; level["-"]=0; level["*"
ljlstart
·
2015-10-11 22:00
LintCode
: 背包问题 II
LintCode
:背包问题II给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大?您在真实的面试中是否遇到过这个题?典型的01背包问题,动态规划解决。
u012225151
·
2015-10-11 22:00
lintcode
LintCode
: 搜索区间
LintCode
:搜索区间给定一个包含n个整数的排序数组,找出给定目标值target的起始和结束位置。
u012225151
·
2015-10-11 17:00
lintcode
LintCode
: 搜索插入位置
LintCode
:搜索插入位置给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你可以假设在数组中无重复元素。二分法。
u012225151
·
2015-10-11 16:00
lintcode
LintCode
: 搜索旋转排序数组 II
LintCode
:搜索旋转排序数组II跟进“搜索旋转排序数组”,假如有重复元素又将如何?是否会影响运行时间复杂度?如何影响?为何会影响?写出一个函数判断给定的目标值是否出现在数组中。
u012225151
·
2015-10-11 15:00
lintcode
LintCode
: 搜索旋转排序数组
LintCode
:搜索旋转排序数组假设有一个排序的按未知的旋转轴旋转的数组(比如,0124567可能成为4567012)。
u012225151
·
2015-10-11 15:00
搜索
lintcode
LintCode
: 第一个错误的代码版本
LintCode
:第一个错误的代码版本代码库的版本号是从1到n的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。
u012225151
·
2015-10-11 14:00
二分查找
lintcode
LintCode
:二叉树的最小深度
Lintcode
:二叉树的最小深度给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。
u012225151
·
2015-10-11 11:00
递归
二叉树
lintcode
LintCode
:二叉树的最大深度
LintCode
:二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。显然,这是一个典型的递归。
u012225151
·
2015-10-10 23:00
递归
二叉树
lintcode
在线编程测试平台
ProgrammingAbilityTest http://www.patest.cn/ http://www.patest.cn/contests/pat-b-practise3.leetcode
lintcode
liuuze5
·
2015-10-10 16:00
LintCode
:最小路径和
LintCode
:最小路径和思路一:万能的枚举m行,n列的矩阵,从左上角走到右下角,需要向下移动(m-1)步,向右移动(n-1)步,共(m+n-2)步,则路径总条数为C(m+n-2,m-1)步。
u012225151
·
2015-10-10 13:00
dp
C语言
lintcode
LintCode
-- 不同的二叉查找树(python-O(n)时间复杂度)
LintCode
--unique-binary-search-trees(不同的二叉查找树)原题链接:http://www.
lintcode
.com/zh-cn/problem/minimum-path-sum
chan15
·
2015-10-09 23:00
算法
lintcode
lintcode
排序矩阵中的从小到大第k个数-401(Java版)
在一个排序矩阵中找从小到大的第k个整数。排序矩阵的定义为:每一行递增,每一列也递增。样例给出k=4和一个排序矩阵:[[1,5,7],[3,7,8],[4,8,9],]返回5。挑战使用O(klogn)的方法,n为矩阵的宽度和高度中的最大值。publicclassSolution{ publicintkthSmallest(finalint[][]matrix,intk){ boolean[][]vi
ljlstart
·
2015-10-09 23:00
lintcode
-带重复元素的子集-18
给定一个可能具有重复数字的列表,返回其所有可能的子集样例如果S=[1,2,2],一个可能的答案为:[ [2], [1], [1,2,2], [2,2], [1,2], [] ]注意子集中的每个元素都是非降序的两个子集间的顺序是无关紧要的解集中不能包含重复子集classSolution{ public: voidsubsetsWithDup(vector&S,intpos){ result.pus
ljlstart
·
2015-10-09 20:00
lintcode
-逆波兰表达式求值-424
求逆波兰表达式的值。在逆波兰表达法中,其有效的运算符号包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰计数表达。您在真实的面试中是否遇到过这个题?样例["2","1","+","3","*"]->((2+1)*3)->9["4","13","5","/","+"]->(4+(13/5))->6classSolution{ public: inlineboolcontains(st
ljlstart
·
2015-10-09 20:00
LintCode
: 最大子数组
容易最大子数组查看运行结果37%通过给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。您在真实的面试中是否遇到过这个题?Yes样例给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6注意子数组最少包含一个数挑战要求时间复杂度为O(n) /* 动态规划: 状态方程: ans[0]=nums[0] ans[i]=max{ans[i-1]
u012225151
·
2015-10-09 13:00
最大子数组
lintcode
LintCode
:二叉树的前序遍历、中序遍历、后序遍历
二叉树的前序遍历39%通过给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题?Yes样例给出一棵二叉树{1,#,2,3},1\2/3返回[1,2,3].挑战你能使用非递归实现么? /*暂时只会用递归*/ /***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,*right;*TreeNod
u012225151
·
2015-10-08 23:00
遍历
二叉树
lintcode
Lintcode
二叉树的后序遍历
二叉树的后序遍历给出一棵二叉树,返回其节点值的后序遍历。样例给出一棵二叉树{1,#,2,3},1\2/3返回[3,2,1]二叉树后序遍历:左子树->右子树->根节点。下图二叉树的后序遍历结果为:edgfbca。通过递归方式实现二叉树后序遍历的代码如下:/***DefinitionofTreeNode:*publicclassTreeNode{*publicintval;*publicTreeNod
lbf8023
·
2015-10-08 21:46
lintcode
二叉树
遍历
Lintcode
Lintcode
二叉树中序遍历
二叉树中序遍历给出一棵二叉树,返回其中序遍历样例给出二叉树{1,#,2,3},1\2/3返回[1,3,2].二叉树中序遍历:左子树->根节点->右子树。下图二叉树中序遍历结果为:debgfac。通过递归方式实现二叉树中序遍历的代码如下:/***DefinitionofTreeNode:*publicclassTreeNode{*publicintval;*publicTreeNodeleft,ri
lbf8023
·
2015-10-08 21:44
Lintcode
Lintcode
二叉树前序遍历
二叉树前序遍历给出一棵二叉树,返回其节点值的前序遍历。样例给出一棵二叉树{1,#,2,3},1\2/3返回[1,2,3].二叉树的前序遍历:根节点->左子树->右子树。下图的前序遍历结果为:abdefgc。通过递归方式实现前序遍历的代码如下:/***DefinitionofTreeNode:*publicclassTreeNode{*publicintval;*publicTreeNodeleft
lbf8023
·
2015-10-08 21:02
Lintcode
Lintcode
: 颜色分类
给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数0,1和2分别代表红,白,蓝。您在真实的面试中是否遇到过这个题?Yes样例注意不能使用代码库中的排序函数来解决这个问题说明一个相当直接的解决方案是使用计数排序扫描2遍的算法。首先,迭代数组计算0,1,2出现的次数,然后依次用0,1,2出现的次数去覆盖数组。你否能想出一个仅
u012225151
·
2015-10-08 20:00
lintcode
颜色排序
Lintcode
尾部零的个数
Lintcode
尾部的零设计一个算法,计算出n阶乘中尾部零的个数样例11!
lbf8023
·
2015-10-08 20:06
Lintcode
lintcode
-链表插入排序
用插入排序对链表排序样例Given1->3->2->0->null,return0->1->2->3->null/** *DefinitionofListNode *classListNode{ *public: *intval; *ListNode*next; *ListNode(intval){ *this->val=val; *this->next=NULL; *} *} */ classS
ljlstart
·
2015-10-08 19:00
LintCode
-- 最小路径和
LintCode
--minimum-path-sum(最小路径和)原题链接:http://www.
lintcode
.com/zh-cn/problem/minimum-path-sum/给定一个只含非负整数的
chan15
·
2015-10-05 15:00
算法
lintcode
LintCode
43 [Maximum Subarray III]
原题给定一个整数数组和一个整数k,找出k个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。给出数组[-1,4,-2,3,-2,3]以及k=2,返回8子数组最少包含一个数解题思路典型划分类动态规划localMax[i][k]表示前i个数,取k个子数组,包含第i个数的MaximumSumglobalMax[i][k]表示前i个数,取k个子数组,可以不包含第i个数
Jason_Yuan
·
2015-10-05 08:12
LintCode
143 [Sort Color II]
原题给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。给出colors=[3,2,2,1,4],k=4,你的代码应该在原地操作使得数组变成[1,2,2,3,4]解题思路方法1:Countsort,扫两遍,需要O(k)的空间这道题原数组还要重复利用作为bucket数组!!!首先for循环遍历一遍原来的数组,
Jason_Yuan
·
2015-10-03 09:39
LintCode
-- 二叉树的后序遍历
LintCode
--binary-tree-postorder-traversal(二叉树的后序遍历)原题链接:http://www.
lintcode
.com/zh-cn/problem/binary-tree-postorder-traversal
chan15
·
2015-09-30 22:00
算法
二叉树
遍历
lintcode
LintCode
-- 二叉树的中序遍历
LintCode
--binary-tree-inorder-traversal(二叉树的中序遍历)原题链接:http://www.
lintcode
.com/zh-cn/problem/binary-tree-inorder-traversal
chan15
·
2015-09-30 20:00
算法
lintcode
LintCode
-- 二叉树的前序遍历
LintCode
--binary-tree-preorder-traversal(二叉树的前序遍历)原题链接:http://www.
lintcode
.com/zh-cn/problem/binary-tree-preorder-traversal
chan15
·
2015-09-30 19:00
算法
lintcode
LintCode
-- 乘积最大子序列
LintCode
--maximum-product-subarray(乘积最大子序列)原题链接:http://www.
lintcode
.com/zh-cn/problem/maximum-product-subarray
chan15
·
2015-09-30 19:00
算法
lintcode
LintCode
31 [Partition Array]
原题给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。给出数组nums=[3,2,2,1]和k=2,返回1解题思路非常相似的题[PartitionArraybyOddandEven]正宗两个指针中对撞型指针的问题最外层大while循环,终止条
Jason_Yuan
·
2015-09-30 15:41
LintCode
-- 不同的路径 II
LintCode
--unique-paths-ii(不同的路径II)原题链接:http://www.
lintcode
.com/zh-cn/problem/unique-paths-ii/跟进“不同的路径
chan15
·
2015-09-29 18:00
算法
lintcode
LintCode
-- 不同的子序列
LintCode
--distinct-subsequences(不同的子序列)原题链接:http://www.
lintcode
.com/zh-cn/problem/distinct-subsequences
chan15
·
2015-09-28 00:00
算法
lintcode
LintCode
-- k数和
LintCode
-- k-sum(k数和)原题链接:http://www.
lintcode
.com/zh-cn/problem/k-sum/给定n个不同的正整数,整数k(kA,intk,inttarget
chan15
·
2015-09-27 19:00
算法
lintcode
lintcode
-加油站-187
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油cost[i]。你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回-1。样例现在有4个加油站,汽油量gas[i]=[1,1,3,1],环路旅行时消耗的汽油量cost[i]=
ljlstart
·
2015-09-26 20:00
lintcode
-数飞机-391
给出飞机的起飞和降落时间的列表,用interval序列表示.请计算出天上同时最多有多少架飞机?样例对于每架飞机的起降时间列表:[[1,10],[2,3],[5,8],[4,7]],返回3。注意如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权。/** *DefinitionofInterval: *classsInterval{ *intstart,end; *Interval(intstar
ljlstart
·
2015-09-26 19:00
上一页
76
77
78
79
80
81
82
83
下一页
按字母分类:
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
其他