- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 三数之和
给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 样例 如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是: (-1, 0, 1) (-1, -1, 2) 注意 在三元组(a, b, c),要求a 结果不能包含重复的三元组
2015-06-19 17:42:17
268
原创 两数之和
给一个整数数组,找到两个数使得他们的和等于一个给定的数target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是1到n,不是以0开头。 样例 numbers=[2, 7, 11, 15], target=9 return [1, 2] class Solution {pub
2015-06-19 13:40:23
326
转载 子数组之和
给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置。 样例 给出[-3, 1, 2, -3, 4],返回[0, 2] 或者 [1, 3]. class Element implements Comparable{ int val; int index; public Element(int v, int i)
2015-06-19 11:42:12
274
原创 数组划分
给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。样例给出数组nums=[3,2,2,1]和 k=2,返回 1注意你应该真正的划分数组nums,而不仅仅只是计算比k小的整数数
2015-06-18 17:17:09
392
转载 丢失的第一个正整数 查看运行结果
给出一个无序的正数数组,找出其中没有出现的最小正整数。 样例 如果给出 [1,2,0], return 3 如果给出 [3,4,-1,1], return 2 挑战 只允许时间复杂度O(n)的算法,并且只能使用常数级别的空间。class Solution {public: /** * @param A: a vector of int
2015-06-18 16:40:11
290
原创 合并排序数组 II
合并两个排序的整数数组A和B变成一个新的数组。 样例 给出A = [1, 2, 3, empty, empty] B = [4,5] 合并之后A将变成[1,2,3,4,5] 注意:你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。class Solution {public
2015-06-18 15:59:29
471
原创 删除排序数组中的重复数字
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。 class Solution {public: /** * @param A:
2015-06-17 18:05:00
326
原创 数组剔除元素后的乘积
给定一个整数数组A。定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。样例给出A=[1, 2, 3],返回 B为[6, 3, 2]public class Solution { /** * @param A: Given an intege
2015-06-17 17:48:18
780
原创 删除元素
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。元素的顺序可以改变,并且对新的数组不会有影响。 样例给出一个数组 [0,4,4,0,0,2,4,4],和值 4返回 4 并且4个元素的新数组为[0,0,0,2]class Solution {public: /** *@param A: A lis
2015-06-17 14:46:13
276
原创 最长公共前缀
给k个字符串,求出他们的最长公共前缀(LCP) 样例 在 "ABCD" "ABEF" 和 "ACEF" 中, LCP 为 "A" 在 "ABCDEFG", "ABCEFG", "ABCEFA" 中, LCP 为 "ABC"class Solution {public: /** * @param strs
2015-06-16 20:31:09
306
原创 最长公共子串
给出两个字符串,找到最长公共子串,并返回其长度。 样例 给出A=“ABCD”,B=“CBCE”,返回 2 注意 子串的字符应该连续的出现在原字符串中,这与子序列有所不同。 思路:DP。public class Solution { /** * @param A,
2015-06-16 20:11:47
327
原创 字符串查找
字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 样例 如果 source = "source" 和 target = "tar
2015-06-16 19:26:45
595
原创 转换字符串到整数
实现atoi这个函数,将一个字符串转换为整数。如果没有合法的整数,返回0。如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-2147483648)如果是负整数。 样例"10" =>10"-1" => -1"123123123123123" => 2147483647"1.0" => 0
2015-06-16 19:00:05
216
原创 比较字符串
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母。样例给出 A = "ABCD" B = "ACD",返回 true给出 A = "ABCD" B = "AABC", 返回 false注意在 A 中出现的 B 字符串里的字符不需要连续或者有序。思路:Hash思想。class Solution {
2015-06-16 17:30:45
220
原创 乱序字符串
给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。 样例 对于字符串数组 ["lint","intl","inlt","code"] 返回 ["lint","inlt","intl"] 注意 所有的字符串都只包含小写字母class Sol
2015-06-16 16:57:32
467
原创 两个字符串是变位词
写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的样例给出 s="abcd",t="dcab",返回 true。class Solution {public: bool anagram(string s, string t) { if(s.length()!=t.length()) retur
2015-06-14 23:11:45
669
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人