All in One LintCode
实时更新LintCode不一样的解析
Narasimha_Karumanchi
这个作者很懒,什么都没留下…
展开
-
Java实现-乘积最大子序列
找出一个序列中乘积最大的连续子序列(至少包含一个数)。您在真实的面试中是否遇到过这个题? Yes样例比如, 序列 [2,3,-2,4] 中乘积最大的子序列为 [2,3] ,其乘积为6。public class Solution { /** * @param nums: an array of integers原创 2017-08-20 16:35:29 · 1657 阅读 · 0 评论 -
Java实现-单词切分
给出一个字符串s和一个词典,判断字符串s是否可以被空格切分成一个或多个出现在字典中的单词。您在真实的面试中是否遇到过这个题? Yes样例给出s = "lintcode"dict = ["lint","code"]返回 true 因为"lintcode"可以被空格切分成"lint code"public class原创 2017-07-31 11:11:45 · 2307 阅读 · 0 评论 -
Java实现-逆波兰表达式求值
求逆波兰表达式的值。在逆波兰表达法中,其有效的运算符号包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰计数表达。您在真实的面试中是否遇到过这个题? Yes样例["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9["4", "13", "5", "/", "+"] -> (4 +原创 2017-07-30 16:10:02 · 1927 阅读 · 0 评论 -
Java实现-子数组之和
给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置 注意事项There is at least one subarray that it's sum equals to zero.您在真实的面试中是否遇到过这个题? Yes样例给出 [-3, 1, 2, -3, 4],返回[0,原创 2017-07-22 17:24:40 · 931 阅读 · 0 评论 -
Java实现-合并区间
给出若干闭合区间,合并所有重叠的部分。您在真实的面试中是否遇到过这个题? Yes样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10],原创 2017-07-15 09:52:08 · 4982 阅读 · 0 评论 -
Java实现-合并k个排序链表
合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。您在真实的面试中是否遇到过这个题? Yes样例给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null/** * Definition for ListNode. * public class ListNode原创 2017-07-14 08:59:53 · 2116 阅读 · 0 评论 -
Java实现-余弦相似度
Cosine similarity is a measure of similarity between two vectors of an inner product space that measures the cosine of the angle between them. The cosine of 0° is 1, and it is less than 1 for any othe原创 2017-07-14 09:01:01 · 4281 阅读 · 0 评论 -
Java实现-排列列表转换为二分查找树
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树您在真实的面试中是否遇到过这个题? Yes样例 21->2->3 => / \ 1 3* Definition for ListNode. * public class ListNode { *原创 2017-07-11 20:34:36 · 649 阅读 · 0 评论 -
Java实现-子树
有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定T2 是否为 T1的子树。 注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。您在真实的面试中是否遇到过这个题? Yes原创 2017-07-11 20:35:33 · 674 阅读 · 0 评论 -
Java实现-搜索二维矩阵II
写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每一列的整数从上到下是排序的。在每一行或每一列中没有重复的整数。您在真实的面试中是否遇到过这个题? Yes样例考虑下列矩阵:[ [1, 3, 5, 7], [2, 4, 7, 8]原创 2017-07-10 18:59:25 · 596 阅读 · 0 评论 -
Java实现-翻转链表2
翻转链表中第m个节点到第n个节点的部分 注意事项m,n满足1 ≤ m ≤ n ≤ 链表长度您在真实的面试中是否遇到过这个题? Yes样例给出链表1->2->3->4->5->null, m = 2 和n = 4,返回1->4->3->2->5->nul/** * Definition for ListNode *原创 2017-07-10 19:00:40 · 570 阅读 · 0 评论 -
Java实现-用栈实现队列
正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。您在真实的面试中是否遇到过这个题? Yes样例比如push(1), pop(), push(2), push(3), top(原创 2017-07-10 15:03:32 · 707 阅读 · 0 评论 -
Java实现-最后一个单词的长度
给定一个字符串, 包含大小写字母、空格’ ‘,请返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。注意事项一个单词的界定是,由字母组成,但不包含任何的空格。您在真实的面试中是否遇到过这个题? Yes 样例 给定 s = “Hello World”,返回 5。public class Solution { /** * @param s A string *原创 2017-07-07 21:24:05 · 1769 阅读 · 0 评论 -
Java实现-翻转字符串
给定一个字符串,逐个翻转字符串中的每个单词。您在真实的面试中是否遇到过这个题? Yes 说明 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个public class Solution { /** * @param s : A string原创 2017-07-07 21:25:07 · 622 阅读 · 0 评论 -
Java实现-搜索二维矩阵
写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。您在真实的面试中是否遇到过这个题? Yes样例考虑下列矩阵:[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]给出 targ原创 2017-07-05 10:56:03 · 1194 阅读 · 0 评论 -
Java实现-最小子串覆盖
给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 注意事项如果在source中没有这样的子串,返回"",如果有多个这样的子串,返回起始位置最小的子串。您在真实的面试中是否遇到过这个题? Yes说明在答案的子串中的字母在目标字符串中是否需要具有相同的顺序?—原创 2017-07-05 10:56:57 · 3983 阅读 · 0 评论 -
Java实现-最长上升连续子序列
给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。) 注意事项time您在真实的面试中是否遇到过这个题? Yes样例给定 [5, 4, 2, 1, 3], 其最长上升连续子序列(LICS)为 [5, 4, 2原创 2017-07-04 14:17:15 · 1118 阅读 · 0 评论 -
Java实现-有效回文串
给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。 注意事项你是否考虑过,字符串有可能是空字符串?这是面试过程中,面试官常常会问的问题。在这个题目中,我们将空字符串判定为有效回文。您在真实的面试中是否遇到过这个题? Yes样例"A man, a plan, a canal: Panama" 是一个回原创 2017-07-04 14:19:06 · 1198 阅读 · 0 评论 -
Java实现-二分查找
给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。您在真实的面试中是否遇到过这个题? Yes样例在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。class Solution {原创 2017-07-04 11:00:54 · 539 阅读 · 0 评论 -
Java实现-带最小值的栈
实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。 注意事项如果堆栈中没有数字则不能进行min方法的调用您在真实的面试中是否遇到过这个题? Yes样例如下操作:push(1),pop(),push(2),pu原创 2017-07-04 11:01:57 · 959 阅读 · 0 评论 -
Java实现-搜索旋转排序数组
假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。您在真实的面试中是否遇到过这个题? Yes样例给出[4, 5, 1, 2, 3]和target=1,返回 2给原创 2017-07-04 10:10:55 · 653 阅读 · 0 评论 -
Java实现-搜索旋转排序数组2
跟进“搜索旋转排序数组”,假如有重复元素又将如何?是否会影响运行时间复杂度?如何影响?为何会影响?写出一个函数判断给定的目标值是否出现在数组中。您在真实的面试中是否遇到过这个题? Yes样例给出[3,4,4,5,7,0,1,2]和target=4,返回 truepublic class Solution { /原创 2017-07-04 10:11:45 · 749 阅读 · 0 评论 -
Java实现-编码方法
有一个消息包含A-Z通过以下规则编码'A' -> 1'B' -> 2...'Z' -> 26现在给你一个加密过后的消息,问有几种解码的方式您在真实的面试中是否遇到过这个题? Yes样例给你的消息为12,有两种方式解码 AB(12) 或者 L(12). 所以返回 2public class Solution {原创 2017-07-02 22:58:27 · 836 阅读 · 0 评论 -
Java实现-两数组的交1
返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].原创 2017-07-02 21:56:43 · 801 阅读 · 0 评论 -
Java实现-两数组的交2
计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].public class Solution { /**原创 2017-07-02 21:57:37 · 1031 阅读 · 0 评论 -
Java实现-骰子求和
扔 n 个骰子,向上面的数字之和为 S。给定 Given n,请列出所有可能的 S 值及其相应的概率。 注意事项You do not care about the accuracy of the result, we will help you to output results.您在真实的面试中是否遇到过这个题? Yes样例原创 2017-07-01 12:50:04 · 3069 阅读 · 0 评论 -
Java实现-主元素1
给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。 注意事项You may assume that the array is non-empty and the majority number always exist in the array.您在真实的面试中是否遇到过这个题? Yes样例原创 2017-07-01 10:44:31 · 1023 阅读 · 0 评论 -
Java实现-主元素2
给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的三分之一。 注意事项数组中只有唯一的主元素您在真实的面试中是否遇到过这个题? Yes样例给出数组[1,2,1,2,1,3,3] 返回 1public class Solution { /** * @para原创 2017-07-01 10:45:48 · 729 阅读 · 0 评论 -
Java实现-主元素3
给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。 注意事项数组中只有唯一的主元素您在真实的面试中是否遇到过这个题? Yes样例给出数组 [3,1,2,3,2,3,3,4,4,4] ,和 k = 3,返回 3public class Solution {原创 2017-07-01 10:46:53 · 767 阅读 · 0 评论 -
Java实现-K数和
给定n个不同的正整数,整数k(k 在这n个数里面找出K个数,使得这K个数的和等于目标数字,求问有多少种方案?您在真实的面试中是否遇到过这个题? Yes样例给出[1,2,3,4],k=2, target=5,[1,4] and [2,3]是2个符合要求的方案public class Solution { /**原创 2017-06-30 16:59:13 · 1037 阅读 · 0 评论 -
Java实现-K数和II
给定n个不同的正整数,整数k(1k 在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。您在真实的面试中是否遇到过这个题? Yes样例给出[1,2,3,4],k=2, target=5,返回 [[1,4],[2,3]]public class Solution { /**原创 2017-06-30 17:00:11 · 738 阅读 · 0 评论 -
Java实现-子集
给定一个含不同整数的集合,返回其所有的子集 注意事项子集中的元素排列必须是非降序的,解集必须不包含重复的子集您在真实的面试中是否遇到过这个题? Yes样例如果 S = [1,2,3],有如下的解:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2],原创 2017-06-30 14:38:57 · 3068 阅读 · 0 评论 -
Java实现-带重复元素的子集
给定一个可能具有重复数字的列表,返回其所有可能的子集 注意事项子集中的每个元素都是非降序的两个子集间的顺序是无关紧要的解集中不能包含重复子集您在真实的面试中是否遇到过这个题? Yes样例如果 S = [1,2,2],一个可能的答案为:[ [2], [1], [1,2,2], [2,2], [1,原创 2017-06-30 14:40:07 · 659 阅读 · 0 评论 -
Java实现-全排列
给定一个数字列表,返回其所有可能的排列。 注意事项你可以假设没有重复数字。您在真实的面试中是否遇到过这个题? Yes样例给出一个列表[1,2,3],其全排列为:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]cla原创 2017-06-30 14:41:44 · 455 阅读 · 0 评论 -
Java实现-带有重复元素的排列
给出一个具有重复数字的列表,找出列表所有不同的排列。您在真实的面试中是否遇到过这个题? Yes样例给出列表 [1,2,2],不同的排列有:[ [1,2,2], [2,1,2], [2,2,1]]class Solution { /** * @param nums: A list of intege原创 2017-06-30 14:43:11 · 2446 阅读 · 0 评论 -
Java实现-背包问题VI
给出一个都是正整数的数组 nums,其中没有重复的数。从中找出所有的和为 target 的组合个数。 注意事项一个数可以在组合中出现多次。数的顺序不同则会被认为是不同的组合。您在真实的面试中是否遇到过这个题? Yes样例给出 nums = [1, 2, 4], target = 4可能的所有组合有:[1,原创 2017-06-29 19:31:31 · 1197 阅读 · 1 评论 -
Java实现-背包问题I
在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 注意事项你不可以将物品进行切割。您在真实的面试中是否遇到过这个题? Yes样例如果有4个物品[2, 3, 5, 7]如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。如果背包的大小为12,可原创 2017-06-29 11:15:57 · 671 阅读 · 0 评论 -
Java实现-背包问题II
给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大? 注意事项A[i], V[i], n, m均为整数。你不能将物品进行切分。你所挑选的物品总体积需要小于等于给定的m。您在真实的面试中是否遇到过这个题? Yes样例对于物品体积[2, 3, 5, 7]和对应的价值[1, 5,原创 2017-06-29 11:16:47 · 538 阅读 · 0 评论 -
Java实现-最大间距
给定一个未经排序的数组,请找出其排序表中连续两个要素的最大间距。如果数组中的要素少于 2 个,请返回 0. 注意事项可以假定数组中的所有要素都是非负整数,且最大不超过 32 位整数。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [1, 9, 2, 5],其排序表为 [1, 2, 5, 9],其最大的间距是原创 2017-06-28 10:54:27 · 989 阅读 · 0 评论 -
Java实现-整数排序i
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。您在真实的面试中是否遇到过这个题? Yes样例对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。public class Solution { /** * @param A an int原创 2017-06-28 10:27:46 · 1276 阅读 · 0 评论