算法-数组
文章平均质量分 72
chaoai_4278
搜索业务研发总监
展开
-
两数之和
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到n-1。注意事项你可以假设只有一组答案。您在真实的面试中是否遇到过这个题?Yes样例给出 numbers = [2, 7,原创 2018-01-17 21:20:14 · 108 阅读 · 0 评论 -
最佳买卖股票时间IV
假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成 k 笔交易。注意事项你不可以同时参与多笔交易(你必须在再次购买前出售掉之前的股票)您在真实的面试中是否遇到过这个题?Yes样例给定价格 = [4,4,6,1,1,4,2,5], 且 k = 2, 返回 6.挑战O(nk) 时间序列。点题:这道题花了我很长时间来理解,特别是global/lo...原创 2018-01-09 21:19:05 · 540 阅读 · 0 评论 -
数字组合 II
给出一组候选数字(C)和目标数字(T),找出C中所有的组合,使组合中数字的和为T。C中每个数字在每个组合中只能使用一次。注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。解集不能包含重复的组合。 您在真实的面试中是否遇到过这个题?Ye原创 2018-01-29 22:04:42 · 386 阅读 · 0 评论 -
数字组合
给出一个候选数字的set(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为:[7],[2,2,3]注意事项所有的数字(包括目标数字)均为正整数。元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。原创 2018-01-29 22:02:40 · 858 阅读 · 0 评论 -
颜色分类
给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数 0,1 和 2 分别代表红,白,蓝。注意事项不能使用代码库中的排序函数来解决这个问题。排序需要在原数组中进行。您在真实的面试中是否遇到过这个题?Yes样例给你数组 [1, 0原创 2018-01-18 21:11:43 · 259 阅读 · 0 评论 -
最大和子数组3
给定一个整数数组和一个整数 k,找出k 个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。注意事项子数组最少包含一个数您在真实的面试中是否遇到过这个题?Yes样例给出数组 [-1,4,-2,3,-2,3] 以及 k =2,返回8点题:边界条件,很巧妙原创 2018-01-12 20:40:53 · 265 阅读 · 0 评论 -
最大和子数组
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。注意事项子数组最少包含一个数您在真实的面试中是否遇到过这个题?Yes样例给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6挑战要求时间复杂度为O(n)理解精髓原创 2018-01-12 20:30:01 · 104 阅读 · 0 评论 -
最大和子数组2
给定一个整数数组,找出两个 不重叠 子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。注意事项子数组最少包含一个数您在真实的面试中是否遇到过这个题?Yes样例给出数组 [1, 3, -1, 2, -1, 2]这两个子数组分别为 [1, 3] 和 [2, -1, 2] 或者原创 2018-01-12 20:38:15 · 175 阅读 · 0 评论 -
最小和子数组
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。注意事项子数组最少包含一个数字您在真实的面试中是否遇到过这个题?Yes样例给出数组[1, -1, -2, 1],返回 -3解法1:class Solution {public: /* * @par原创 2018-01-12 20:48:14 · 640 阅读 · 0 评论 -
子数组最大差
给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。返回这个最大的差值。注意事项子数组最少包含一个数您在真实的面试中是否遇到过这个题?Yes样例给出数组[1, 2, -3, 1],返回 6挑战时间复杂度为O(n),空间原创 2018-01-13 13:27:59 · 282 阅读 · 0 评论 -
最接近零的子数组和
给定一个整数数组,找到一个和最接近于零的子数组。返回第一个和最有一个指数。你的代码应该返回满足要求的子数组的起始位置和结束位置您在真实的面试中是否遇到过这个题?Yes样例给出[-3, 1, 1, -3, 5],返回[0, 2],[1, 3],[1, 1],[2, 2] 或者 [0, 4]。挑战O(nlogn)的原创 2018-01-13 15:49:13 · 275 阅读 · 0 评论 -
和为0的子数组
给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置注意事项There is at least one subarray that it's sum equals to zero.您在真实的面试中是否遇到过这个题?Yes样例给出 [-3, 1, 2, -3, 4],返回[0,原创 2018-01-13 12:12:38 · 1218 阅读 · 0 评论 -
买卖股票的最佳时机 III
假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成两笔交易。注意事项你不可以同时参与多笔交易(你必须在再次购买前出售掉之前的股票)您在真实的面试中是否遇到过这个题?Yes样例给出一个样例数组 [4,4,6,1,1,4,2,5], 返回 6点题原创 2018-01-09 15:40:07 · 238 阅读 · 0 评论 -
买卖股票的最佳时机 II
假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。您在真实的面试中是否遇到过这个题?Yes样例给出一个数组样例[2,1,2,0,1], 返回 2点题:交易次数无限制class原创 2018-01-09 15:38:07 · 182 阅读 · 0 评论 -
买卖股票的最佳时机
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。您在真实的面试中是否遇到过这个题?Yes样例给出一个数组样例 [3,2,3,1,2], 返回 1 点题:交易一次就是一次买卖class Solution {public: /*原创 2018-01-09 15:36:57 · 156 阅读 · 0 评论 -
三数之和
给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。注意事项在三元组(a, b, c),要求a 结果不能包含重复的三元组。您在真实的面试中是否遇到过这个题?Yes样例如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:原创 2018-01-18 09:19:40 · 305 阅读 · 0 评论 -
数组划分
给出一个整数数组 nums 和一个整数k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。注意事项你应该真正的划分数组 nums,而不仅仅只是计算比k 小的整数数,如果数组 nums 中的所有元素都比 k 小,则返原创 2018-01-17 21:22:30 · 247 阅读 · 0 评论 -
最小调整代价
给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。你可以假设数组中每个整数都是正整数,且小于等于100。您在真实的面试中是否遇到过这个题? 是样例对于数组[1, 4, 2, 3]和target=1,最小的调整方案是调整为[2, 3, 2, 3],调整代价之和是2。返回2。class Solut...原创 2018-07-13 15:07:57 · 200 阅读 · 0 评论