LintCode
sunfengcai
这个作者很懒,什么都没留下…
展开
-
(158)两个字符串是变位词
容易 两个字符串是变位词 查看运行结果 写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的 您在真实的面试中是否遇到过这个题? Yes 样例 给出 s="abcd",t="dcab",返回 true public class Solution { /** * @param s: Th原创 2015-10-18 13:22:22 · 436 阅读 · 0 评论 -
三数之和
中等 三数之和 查看运行结果 19% 通过 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 您在真实的面试中是否遇到过这个题? Yes 样例 如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是: (-1, 0, 1) (-1,原创 2015-10-24 09:47:56 · 518 阅读 · 0 评论 -
x的平方根
容易 x的平方根 查看运行结果 23% 通过 实现 int sqrt(int x) 函数,计算并返回 x 的平方根。 您在真实的面试中是否遇到过这个题? Yes 样例 sqrt(3) = 1 sqrt(4) = 2 sqrt(5) = 2 sqrt(10) = 3 挑战 O(log(x)) class原创 2015-10-24 11:03:14 · 417 阅读 · 0 评论 -
两数之和
中等 两数之和 查看运行结果 27% 通过 给一个整数数组,找到两个数使得他们的和等于一个给定的数target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是1到n,不是以0开头。 您在真实的面试中是否遇到过这个题? Yes 样例 numbers=[2, 7, 11原创 2015-10-24 10:02:30 · 796 阅读 · 0 评论 -
数组划分
中等 数组划分 查看运行结果 25% 通过 给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。 您在真实的面试中是否遇到过这个题? Yes 样例原创 2015-10-24 10:40:37 · 411 阅读 · 0 评论 -
搜索二维矩阵
容易 搜索二维矩阵 查看运行结果 27% 通过 写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。 您在真实的面试中是否遇到过这个题? Yes 样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11,原创 2015-10-25 13:35:28 · 304 阅读 · 0 评论 -
二分查找
容易 二分查找 查看运行结果 29% 通过 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 您在真实的面试中是否遇到过这个题? Yes 样例 在数组 [1, 2, 3, 3, 4, 5, 10] 中二原创 2015-10-25 14:04:46 · 405 阅读 · 0 评论 -
搜索插入位置
容易 搜索插入位置 查看运行结果 28% 通过 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。 你可以假设在数组中无重复元素。 您在真实的面试中是否遇到过这个题? Yes 样例 [1,3,5,6],5 → 2 [1,3,5,6],2 → 1 [1,3,5,6原创 2015-10-25 12:43:00 · 512 阅读 · 0 评论 -
寻找旋转排序数组中的最小值
中等 寻找旋转排序数组中的最小值 查看运行结果 33% 通过 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 您在真实的面试中是否遇到过这个题? Yes 样例 给出[4,5,6,7,0,1,2原创 2015-10-26 09:41:07 · 349 阅读 · 0 评论 -
第一个错误的代码版本
中等 第一个错误的代码版本 查看运行结果 34% 通过 代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。 你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。原创 2015-10-26 16:04:24 · 726 阅读 · 0 评论 -
寻找峰值
中等 寻找峰值 查看运行结果 45% 通过 你给出一个整数数组(size为n),其具有以下特点: 相邻位置的数字是不同的A[0] A[n - 1] 假定P是峰值的位置则满足A[P] > A[P-1]且A[P] > A[P+1],返回数组中任意一个峰值的位置。 您在真实的面试中是否遇到过这个题? Yes 样例 给出原创 2015-10-26 15:51:34 · 461 阅读 · 0 评论 -
(172)删除元素
容易 删除元素 查看运行结果 32% 通过 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。 您在真实的面试中是否遇到过这个题? Yes 样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 4 并且4个元素的新数组为[0,0,0,2]原创 2015-10-22 13:38:34 · 542 阅读 · 0 评论 -
(78)最长公共前缀
中等 最长公共前缀 查看运行结果 27% 通过 给k个字符串,求出他们的最长公共前缀(LCP) 您在真实的面试中是否遇到过这个题? Yes 样例 在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A" 在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC" p原创 2015-10-20 20:27:02 · 438 阅读 · 0 评论 -
(55)比较字符串
容易 比较字符串 查看运行结果 26% 通过 比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是大写字母 您在真实的面试中是否遇到过这个题? Yes 样例 给出 A = "ABCD" B = "ACD",返回 true 给出 A = "ABCD" B = "AABC", 返回 false原创 2015-10-18 13:57:30 · 525 阅读 · 0 评论 -
(13)字符串查找
容易 字符串查找 查看运行结果 18% 通过 字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。 如果不存在,则返回 -1。 您在真实的面试中是否遇到原创 2015-10-18 14:19:00 · 831 阅读 · 0 评论 -
(79)最长公共子串
中等 最长公共子串 30% 通过 给出两个字符串,找到最长公共子串,并返回其长度。 您在真实的面试中是否遇到过这个题? Yes 样例 给出A=“ABCD”,B=“CBCE”,返回 2 注意 子串的字符应该连续的出现在原字符串中,这与子序列有所不同。 #include #include #include i原创 2015-10-20 15:09:21 · 394 阅读 · 0 评论 -
(50)数组剔除元素后的乘积
容易 数组剔除元素后的乘积 查看运行结果 25% 通过 给定一个整数数组A。 定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。 您在真实的面试中是否遇到过这个题? Yes 样例 给出A=[1, 2, 3],返回 B为[6, 3, 2]原创 2015-10-22 18:31:10 · 446 阅读 · 0 评论 -
(64)合并排序数组2
容易 合并排序数组 II 查看运行结果 32% 通过 合并两个排序的整数数组A和B变成一个新的数组。 您在真实的面试中是否遇到过这个题? Yes 样例 给出A = [1, 2, 3, empty, empty] B = [4,5] 合并之后A将变成[1,2,3,4,5] 注意 你可以假设A具有足够的空原创 2015-10-22 17:55:49 · 571 阅读 · 0 评论 -
(189)丢失的第一个正整数
中等 丢失的第一个正整数 查看运行结果 22% 通过 给出一个无序的正数数组,找出其中没有出现的最小正整数。 您在真实的面试中是否遇到过这个题? Yes 样例 如果给出 [1,2,0], return 3 如果给出 [3,4,-1,1], return 2 挑战 只允许时间复杂度O(n)的算法,并且只能使用原创 2015-10-22 20:04:50 · 441 阅读 · 0 评论 -
(171)乱序字符串
中等 乱序字符串 查看运行结果 21% 通过 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。 您在真实的面试中是否遇到过这个题? Yes 样例 对于字符串数组 ["lint","intl","inlt","code"] 返原创 2015-10-22 13:21:51 · 566 阅读 · 0 评论 -
(100)删除排序数组中的重复数字
容易 删除排序数组中的重复数字 查看运行结果 32% 通过 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 您在真实的面试中是否遇到过这个题? Yes 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此原创 2015-10-22 14:25:45 · 1076 阅读 · 0 评论 -
(138)子数组之和
容易 子数组之和 查看运行结果 25% 通过 给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置 您在真实的面试中是否遇到过这个题? Yes 样例 给出[-3, 1, 2, -3, 4],返回[0, 2] 或者 [1, 3]. public class Solution {原创 2015-10-22 14:01:41 · 464 阅读 · 0 评论 -
(59)三数之和 II
中等 三数之和 II 查看运行结果 29% 通过 给一个包含n个整数的数组S, 找到和与给定整数target最接近的三元组,返回这三个数的和。 您在真实的面试中是否遇到过这个题? Yes 样例 例如S = [-1, 2, 1, -4] and target = 1. 和最接近1的三元组是 -1 + 2 + 1 = 2.原创 2015-10-22 20:56:48 · 408 阅读 · 0 评论 -
木材加工
中等 木材加工 查看运行结果 19% 通过 有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为 k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。 您在真实的面试中是否遇到过这个题? Yes 样例 有3根木头[232, 124, 456], k=7, 最大长度为原创 2015-10-26 00:00:38 · 740 阅读 · 0 评论