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-
背包问题IX
题目Youhaveatotalof10*nthousandyuan,hopingtoapplyforauniversityabroad.Theapplicationisrequiredtopayacertainfee.GivethecostofeachuniversityapplicationandtheprobabilityofgettingtheUniversity'soffer,andthe
爱秋刀鱼的猫
·
2024-01-20 01:43
LintCode-
最长上升连续子序列 II
描述给定一个整数矩阵(其中,有n行,m列),请找出矩阵中的最长上升连续子序列。(最长上升连续子序列可从任意行或任意列开始,向上/下/左/右任意方向移动)。样例给定一个矩阵[[1,2,3,4,5],[16,17,24,23,6],[15,18,25,22,7],[14,19,20,21,8],[13,12,11,10,9]]返回25挑战O(nm)时间复杂度及存储代码classSolution:"""
想当厨子的程序员
·
2023-10-30 22:13
LintCode-
简化路径
给定一个文档(Unix-style)的完全路径,请进行路径简化。您在真实的面试中是否遇到过这个题?Yes样例"/home/",=>"/home""/a/./b/../../c/",=>"/c"挑战你是否考虑了路径="/../"的情况?在这种情况下,你需返回"/"。此外,路径中也可能包含双斜杠'/',如"/home//foo/"。在这种情况下,可忽略多余的斜杠,返回"/home/foo"。标签Exp
wangyuquan
·
2023-10-27 08:50
面试
LintCode
面试
LintCode-
最长上升子序列(LIS)
最长上升子序列给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。样例给出[5,4,1,2,3],LIS是[1,2,3],返回3给出[4,2,4,5,3,7],LIS是[2,4,5,7],返回4挑战要求时间复杂度为O(n^2)或者O(nlogn)说明最长上升子序列的定义:最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一
想当厨子的程序员
·
2023-10-01 01:25
lintcode-
将数组重新排序以构造最小值
给定一个整数数组,请将其重新排序,以构造最小值。样例给定[3,32,321],通过将数组重新排序,可构造6个可能性数字:3+32+321=3323213+321+32=33213232+3+321=32332132+321+3=323213321+3+32=321332321+32+3=321323其中,最小值为321323,所以,将数组重新排序后,该数组变为[321,32,3]。classSol
yishuihan222
·
2023-09-16 21:11
求职系列笔记
LintCode-
交叉字符串-动态规划
描述给出三个字符串:s1、s2、s3,判断s3是否由s1和s2交叉构成。样例比如s1="aabcc"s2="dbbca"-当s3="aadbbcbcac",返回true.-当s3="aadbbbaccc",返回false.挑战要求时间复杂度为O(n^2)或者更好思路State:dp[i][j]表示A的前i个字符与B的前i个字符能否交替组成C的前i+j的字符Function:dp[i][j]=dp[
想当厨子的程序员
·
2023-08-16 13:07
LintCode-
数字翻转-动态规划
描述给你一个01构成的数组。请你找出最小翻转步数,使得数组满足以下规则:1的后面可以是1或者0,但是0的后面必须是0。输入的数组长度n<=100000。样例给出array=[1,0,0,1,1,1],返回2。解释:把两个0翻转成1。给出array=[1,0,1,0,1,0],返回2。解释:把第二个1和第三个1都翻转成0。代码classSolution:"""@paramnums:thearray@
想当厨子的程序员
·
2023-08-01 18:23
LintCode-
最长重复子序列-动态规划
描述给出一个字符串,找到最长的重复子序列的长度,并且这两个子序列不能在相同位置有同一元素。比如:在两个子序列中的第i个元素不能在原来的字符串中有相同的下标。样例给出str=abc,返回0,不存在重复子序列给出str=aab,返回1,两个子序列分别是a(第一个)和a(第二个).注意b不能被认为是子序列的一部分,因为它在两个子序列里面有相同的下标。给出str=aabb,返回2思路这是LCS的变种题目!
想当厨子的程序员
·
2023-06-10 19:23
LintCode-
背包问题I、II、III、IV、V、VII、VIII、IX、X
I描述在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]你不可以将物品进行切割。样例如果有4个物品[2,3,5,7]如果背包的大小为11,可以选择[2,3,5]装入背包,最多可以装满10的空间。如果背包的大小为12,可以选择[2,3,7]装入背包,最多可以装满12的空间。函数需要返回最多能装满的空间大小。挑战O(nxm)timeandO(m)memory.
想当厨子的程序员
·
2023-04-12 04:45
LintCode-
区间型动态规划石子归并
石子归并有一个石子归并的游戏。最开始的时候,有n堆石子排成一列,目标是要将所有的石子合并成一堆。合并规则如下:每一次可以合并相邻位置的两堆石子每次合并的代价为所合并的两堆石子的重量之和求出最小的合并代价。样例对于石子序列:[4,1,1,4](每个数代表这堆石子的重量),最优合并方案下,合并代价为18:合并第2堆和第3堆=>[4,2,4],代价+2合并前两堆=>[6,4],代价+6合并剩下的两堆=>
想当厨子的程序员
·
2023-04-10 10:10
LintCode-
打劫房屋I、 II(环状数据的处理)、III
I描述假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱,算一算,如果今晚去打劫,你最多可以得到多少钱在不触动报警装置的情况下。样例给定[3,8,4],返回8.挑战O(n)时间复杂度且O(1)存储。代码classSol
想当厨子的程序员
·
2022-02-16 03:56
lintcode-
不同的二叉查找树
卡特兰数Catalan数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。原理:令h(0)=1,h(1)=1,catalan数满足递归式:h(n)=h(0)h(n-1)+h(1)h(n-2)++h(n-1)h(0)(其中n>=2)该递推关系的解为:h(n)=C(2n,n)/(n+1)(n=1,2,3,)另类递归式:h(n)=((4n-
鬼谷神奇
·
2021-05-18 03:07
Lintcode-
乱序字符串
问题描述如下:给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。image.png问题分析:对于一个字符串,我们利用函数str2label(stringstr)将其转化为“一个标签”。比如说“apple”变为“a1e1p2l1”这样的标签。对于乱序的字符串最终都会变为同一个标签。然后再利用map结构
爱秋刀鱼的猫
·
2021-05-07 15:13
lintcode-
回文链表
设计一种方式检查一个链表是否为回文链表。再用原地反转解决一次/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:/***@paramheadaListNode*@returnaboo
鬼谷神奇
·
2021-04-25 09:41
LintCode-
木材加工
有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。样例有3根木头[232,124,456],k=7,最大长度为114.注意木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是整数。无法切出要求至少k段的,则返回0即可。挑战O(nlogLen),Len为n段
wangyuquan
·
2020-09-15 23:13
面试
LintCode-
颜色分类
给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数0,1和2分别代表红,白,蓝。样例注意不能使用代码库中的排序函数来解决这个问题说明一个相当直接的解决方案是使用计数排序扫描2遍的算法。首先,迭代数组计算0,1,2出现的次数,然后依次用0,1,2出现的次数去覆盖数组。你否能想出一个仅使用常数级额外空间复杂度且只扫描遍历一遍
wangyuquan
·
2020-09-14 15:48
面试
LintCode-
最小差
给定两个整数数组(第一个是数组A,第二个是数组B),在数组A中取A[i],数组B中取B[j],A[i]和B[j]两者的差越小越好(|A[i]-B[j]|)。返回最小差。样例给定数组A=[3,4,6,7],B=[2,3,8,9],返回0。挑战时间复杂度O(nlogn)分析:看到时间复杂度就想到遍历A数组然后对B数组进行二分查找,二分查找可以手写,也可以直接调用STL。代码:classSolution
wangyuquan
·
2020-09-14 15:48
面试
lintcode-
排颜色II-143
给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。样例给出colors=[3,2,2,1,4],k=4,你的代码应该在原地操作使得数组变成[1,2,2,3,4]注意不能使用代码库中的排序函数来解决这个问题挑战一个相当直接的解决方案是使用计数排序扫描2遍的算法。这样你会花费O(k)的额外空间。你否能在不使用
ljlstart
·
2020-09-14 14:42
Lintcode
划分和相等的子集-
LintCode-
动态规划经典问题/背包问题
给一只含有正整数的非空数组,判断这个数组是否可以划分为两个元素和相等的子集。注意事项:所有数组元素不超过100.数组大小不超过200.样例:给一数组[1,5,11,5],返回true,两个子集:[1,5,5],[11]给一数组[1,2,3,9],返回false思路:动态规划,对于数组nums,判断奇偶性,若为奇数,肯定不可能分成两个相等的数,若为偶数,令sum为数组nums元素和的一半。构建数组d
w2016Jessica
·
2020-09-13 06:37
LintCode-
剑指Offer-(70)二叉树的层次遍历Ⅱ
classSolution{/***@paramroot:Therootofbinarytree.*@return:Levelorderalistoflistsofinteger*/public:voidlev(TreeNode*node,intlevelnum,vector
风顺水流
·
2020-09-12 14:01
LintCode
lintcode-
二叉树的层次遍历 II
描述给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)样例给出一棵二叉树{3,9,20,#,#,15,7},3/\920/\157按照从下往上的层次遍历为:[[15,7],[9,20],[3]]代码/***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,
second24
·
2020-09-12 13:40
LintCode
lintcode-
二叉树的层次遍历II-70
给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)样例给出一棵二叉树{3,9,20,#,#,15,7},3/\920/\157按照从下往上的层次遍历为:[[15,7],[9,20],[3]]/***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,*rig
ljlstart
·
2020-09-12 13:54
Lintcode
LintCode-
二叉树的层次遍历 II
给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题?Yes样例给出一棵二叉树{3,9,20,#,#,15,7},3/\920/\157按照从下往上的层次遍历为:[[15,7],[9,20],[3]]标签Expand分析:就是层次遍历呀。。。代码:/***DefinitionofTreeNode:*class
wangyuquan
·
2020-09-12 12:53
面试
lintcode-
二叉树的层次遍历-69
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题?样例给出一棵二叉树{3,9,20,#,#,15,7},3/\920/\157返回它的层次遍历为:[[3],[9,20],[15,7]]挑战只使用一个队列去实现它/***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,*ri
ljlstart
·
2020-09-12 12:43
Lintcode
LintCode-
分治-二叉树中的最大路径和
点此进入题目解题思路:该题目是求二叉树的最大路径和,即二叉树中链接在同一条路径上的节点值相加的最大值。那么这个路径有可能只在左子树中,有可能从左子树经过节点到右子树,也有可能在右子树中。所以需要判断。解题过程:首先新建一个函数,求除节点外,左右子树节点那条路径和最大(该路径是从节点开始只包含在左子树或者右子树中的路径)。先求经过根节点的最大路径和,首先定义一个整形max=0和count=0,若左子
lz1997
·
2020-09-12 06:15
lintcode
LintCode-
整数排序
题目描述:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何O(n2)的排序算法。样例:对于数组[3,2,1,4,5],排序后为:[1,2,3,4,5]。做题思路:题目要求时间复杂度不超过O(n2)的算法,而sort函数恰好符合要求,从向量数组中的头到尾进行升序排序。关键代码:classSolution{public:/***@paramAanintegerarray*@retur
菲菲飞xiu
·
2020-09-12 04:19
排序
LintCode-
入门 463. 整数排序
463.整数排序中文English给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何O(n2)的排序算法。样例样例1:输入:[3,2,1,4,5]输出:[1,2,3,4,5]样例解释:返回排序后的数组。样例2:输入:[1,1,2,1,1]输出:[1,1,1,1,2]样例解释:返回排好序的数组。publicclassSolution{/***@paramA:anintegerarra
ZOU-ZIWEI
·
2020-09-12 04:54
LintCode
LintCode-
打劫房屋
假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱,算一算,如果今晚去打劫,你最多可以得到多少钱在不触动报警装置的情况下。样例给定[3,8,4],返回8.挑战O(n)时间复杂度且O(1)存储。分析:又是一个动态规划问题
wangyuquan
·
2020-09-12 03:53
面试
LintCode-
丢失的第一个正整数
给出一个无序的正数数组,找出其中没有出现的最小正整数。样例如果给出[1,2,0],return3如果给出[3,4,-1,1],return2挑战只允许时间复杂度O(n)的算法,并且只能使用常数级别的空间。分析:把当前数放到该放的位置即可,如1应该放到第0个位置,2应该放到第1个位置。代码:classSolution{public:/***@paramA:avectorofintegers*@ret
wangyuquan
·
2020-09-12 03:23
面试
[随缘一题]-
LintCode-
平面列表
来源来源:
lintcode-
平面列表描述给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。样例给定[1,2,[1,2]],返回[1,2,1,2]。
呼延十
·
2020-09-12 03:12
随缘一题
数据结构及算法
lintcode-
打劫房屋
假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱,算一算,如果今晚去打劫,你最多可以得到多少钱在不触动报警装置的情况下。样例给定[3,8,4],返回8.挑战O(n)时间复杂度且O(1)存储。解题思路:假设你来到一个房
ljlstart
·
2020-09-12 02:41
Lintcode
lintcode-
微软笔试
646.第一个独特字符位置题目:给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回-1。样例:给出字符串s="lintcode",返回0。给出字符串s="lovelintcode",返回2。思路:简单的hash应用。遍历一次,纪录每个字符出现的次数,再遍历一次,次数大于1的字符就是答案。题目链接:http://www.lintcode.com/zh-cn/p
雨狮子
·
2020-09-12 02:07
lintcode
LintCode-
下一个排列
给定一个若干整数的排列,给出按正数大小进行字典序从小到大排序后的下一个排列。如果没有下一个排列,则输出字典序最小的序列。样例左边是原始排列,右边是对应的下一个排列。1,2,3→1,3,23,2,1→1,2,31,1,5→1,5,1挑战不允许使用额外的空间。分析:从后往前找,找到第一对(i,j),使得nums[i]&nums){//writeyourcodehereintn=nums.size();
wangyuquan
·
2020-08-26 14:20
面试
LintCode-
分治-合并k个排序链表
点此进入题目解题思路:这道题目是将vector函数中所有链表给组合在一起然后输出,而且存在vector函数的单链表是已经排序了的。这道题可以用分治递归的方法做,首先将vector函数的所有单链表两两组合在一起,然后添加在vector函数后面,若最后有一个单链表剩余那么直接跳过。然后将vector进行递归,直到单链表数量为1.解题过程:给定一个vecto&lists数组,判断lists长度是否为0,
lz1997
·
2020-08-26 13:02
lintcode
LintCode-
装最多水的容器
给定n个非负整数a1,a2,...,an,每个数代表了坐标中的一个点(i,ai)。画n条垂直线,使得i垂直线的两个端点分别为(i,ai)和(i,0)。找到两条线,使得其与x轴共同构成一个容器,以容纳最多水。样例给出[1,3,2],最大的储水面积是2.注意容器不可倾斜。分析:采用两边逼近法,显而易见,当逐渐逼近的时候,容器的长在变短,那么要使得面积增大的话,宽必须要变大,所以我们保留长的那条线段,使
wangyuquan
·
2020-08-25 01:24
面试
lintcode-
带重复元素的排列 -16
给出一个具有重复数字的列表,找出列表所有不同的排列样例给出列表[1,2,2],不同的排列有:[[1,2,2],[2,1,2],[2,2,1]]classSolution{public:boolnextPermutation(vector&nums){intn=nums.size();for(inti=n-1;i>=0;i--){for(intj=n-1;j>i;j--){if(nums[i]>pe
ljlstart
·
2020-08-23 06:27
Lintcode
lintcode-
单词接龙-120
给出两个单词(start和end)和一个字典,找到从start到end的最短转换序列比如:每次只能改变一个字母。变换过程中的中间单词必须在字典中出现。您在真实的面试中是否遇到过这个题?样例给出数据如下:start="hit"end="cog"dict=["hot","dot","dog","lot","log"]一个最短的变换序列是"hit"->"hot"->"dot"->"dog"->"cog"
ljlstart
·
2020-08-23 01:48
Lintcode
LintCode-
买卖股票的最佳时机I、II、III
思路概述I、只许购买一次股票。遍历所有时间的股票价格,以当前股票价格之前出现过的最低价作为买入价,并计算出当天价格出售的收益,与曾经的最大收益对比,遍历完即可的得到最大可能收益;II、交易次数不限,但每次只能持有一只股票。就可以用贪心法,只要当天价格高于前一天,就加入到收益之中去;III、最多两次购买股票。动态规划问题,可以以第i天未分界点,计算前面的单次股票最大收益和后面股票的最大收益,然后求两
想当厨子的程序员
·
2020-08-20 02:46
lintcode-
落单的数II-83
给出3*n+1个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字。样例给出[1,1,2,3,3,3,2,2,4,1],返回4挑战一次遍历,常数级的额外空间复杂度#defineBit32classSolution{public:intsingleNumberII(vector&A){intcount,ret=0;for(inti=0;i
ljlstart
·
2020-08-19 10:29
Lintcode
LintCode-
不同的二叉查找树
给出n,问由1...n为节点组成的不同的二叉查找树有多少种?样例给出n=3,有5种不同形态的二叉查找树:13321\///\\321132//\\2123分析:只要记录下有x个不同的数的情况下有多少种解法,不适合用递归,在数据量较大的情况下,于是可以用记忆化搜索。我这里直接用一个数组保存结果了==代码:classSolution{public:/***@paramnn:Aninteger*@ret
wangyuquan
·
2020-08-18 22:03
面试
LintCode-
数组划分
给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。您在真实的面试中是否遇到过这个题?Yes样例给出数组nums=[3,2,2,1]和k=2,返回1注意你应该真正的划分数组nums,而不仅仅只是计算比k小的整数数,如果数组nums中的所有元素都
wangyuquan
·
2020-08-18 17:53
算法
面试
LintCode
面试
LintCode-
剑指Offer-(71)二叉树的锯齿形层次遍历
classSolution{/***@paramroot:Therootofbinarytree.*@return:Alistoflistsofintegerinclude*thezigzaglevelordertraversalofitsnodes'values*/public:vector>zigzagLevelOrder(TreeNode*root){//writeyourcodehereq
风顺水流
·
2020-08-18 16:40
LintCode
LintCode-
剑指Offer-(105)复制带随机指针的链表
classSolution{public:/***@paramhead:Theheadoflinkedlistwitharandompointer.*@return:Anewheadofadeepcopyofthelist.*///递归真是个好东西,没想到真能用一个变量实现,简洁明了啊,非常好。RandomListNode*copyRandomList(RandomListNode*head){/
风顺水流
·
2020-08-18 16:39
LintCode
lintcode-
交错正负数-144
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。样例给出数组[-1,-2,-3,4,5,6],重新排序之后,变成[-1,5,-2,4,-3,6]或者其他任何满足要求的答案注意不需要保持正整数或者负整数原来的顺序。挑战原地完成,没有额外的空间classSolution{public:voidrerange(vector&vec){ inti=0,j=1;intcount=0,n=
ljlstart
·
2020-08-18 15:55
Lintcode
LintCode-
交错正负数
给出一个含有正整数和负整数的数组,重新排列成一个正负数交错的数组。样例给出数组[-1,-2,-3,4,5,6],重新排序之后,变成[-1,5,-2,4,-3,6]或者其他任何满足要求的答案注意不需要保持正整数或者负整数原来的顺序。挑战原地完成,没有额外的空间分析:如果正数多那么第一个数应该是正数,反之也成立,确定每一位的符号,然后从后面选就行,复杂度为O(n^2),不清楚有没有更优的。代码:cla
wangyuquan
·
2020-08-18 13:15
算法
面试
lintcode-
线段树查询II-247
/*classSegmentTreeNode{*public:*intstart,end,count;*SegmentTreeNode*left,*right;*SegmentTreeNode(intstart,intend,intcount){*this->start=start;*this->end=end;*this->count=count;*this->left=this->right=
ljlstart
·
2020-08-18 08:49
Lintcode
lintcode-
线段树的构造-201
/***DefinitionofSegmentTreeNode:*classSegmentTreeNode{*public:*intstart,end;*SegmentTreeNode*left,*right;*SegmentTreeNode(intstart,intend){*this->start=start,this->end=end;*this->left=this->right=NULL
ljlstart
·
2020-08-18 08:48
Lintcode
lintcode-
线段树的查询-202
/***DefinitionofSegmentTreeNode:*classSegmentTreeNode{*public:*intstart,end,max;*SegmentTreeNode*left,*right;*SegmentTreeNode(intstart,intend,intmax){*this->start=start;*this->end=end;*this->max=max;*
ljlstart
·
2020-08-18 08:48
Lintcode
LintCode-
最长公共前缀
给k个字符串,求出他们的最长公共前缀(LCP)您在真实的面试中是否遇到过这个题?Yes样例在"ABCD""ABEF"和"ACEF"中,LCP为"A"在"ABCDEFG","ABCEFG","ABCEFA"中,LCP为"ABC"标签Expand分析:就是直接两两计算前缀。。。代码:classSolution{public:/***@paramstrs:Alistofstrings*@return:T
wangyuquan
·
2020-08-18 03:54
面试
LintCode-
最长上升连续子序列
最长上升连续子序列给定一个整数数组(下标从0到n-1,n表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)样例给定[5,4,2,1,3],其最长上升连续子序列(LICS)为[5,4,2,1],返回4.给定[5,1,2,3,4],其最长上升连续子序列(LICS)为[1,2,3,4],返回4.注意timepublicclassSolut
Sunny_Ran
·
2020-08-17 20:47
数据结构&算法
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他