给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。
返回这个最大的差值。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出数组[1, 2, -3, 1],返回 6
注意
子数组最少包含一个数
挑战
时间复杂度为O(n),空间复杂度为O(n)
标签 ...
分类:
编程语言 时间:
2015-06-26 21:15:29
阅读次数:
953
题目:
实现一个排序算法,排序对象是本公司员工的年龄,要求时间复杂度O(n),空间复杂度不能超过O(n)。#include
using namespace std;
void SortAge(int Ages[],int length)
{
if (NULL == Ages || length <= 0)
return;
const int ol...
分类:
其他好文 时间:
2015-06-26 12:56:06
阅读次数:
100
这个题感觉很厉害的样子。。首先我们注意到一点:每次加的 $d$ 都是非负的。那么就说明一个数只可能从负数变成非负数并且只会变一次。所以我们就可以暴力地去改变一个数的正负情况。然后我们就可以用树链剖分,维护一下区间的最大负数和负数的个数就可以了。时间复杂度 $O(n\log^2 n)$,空间复杂度 $...
分类:
其他好文 时间:
2015-06-25 10:16:25
阅读次数:
119
在一个长度为n的整形数组a里,除了三个数字只出现一次外,其他的数字都出现了2次。请写程序输出任意一个只出现一次的数字,程序时间和空间复杂度越小越好。 例如: a = {1,3,7,9,5,9,4,3,6,1,7},输出4或5或6。解题思路
如果只有一个只出现一次,将所有数做异或运算,返回其值。
如果有两个数只出现一次,假设为a和b,全部数做异或运算的结果为x=a^b,由于a和b不相等,所以x不为0。...
分类:
移动开发 时间:
2015-06-23 20:09:43
阅读次数:
149
问题描述:字符串的左旋转操作定义为:把字符串前面n个字符移动到字符串的尾部;如取n=3,把字符串asdfghj左旋转3位得到字符串fghjasd。请实现字符串左旋转的函数,要求对长度为length的字符串操作的时间复杂度为O(length),空间复杂度为O(1)。实现字符串左旋转很简单,但是有时间复...
分类:
其他好文 时间:
2015-06-19 22:54:51
阅读次数:
218
归并排序:时间复杂度为O(nlogn) 这是该算法中最好、最坏和平均的时间性能。空间复杂度为 O(n)归并排序比较占用内存,但却是一种效率高且稳定的算法。速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。具体思路是,在归并的过程中计算每个小区间的逆序对数,进而计算出大...
分类:
编程语言 时间:
2015-06-18 21:26:54
阅读次数:
136
题目描述:
给定一个字符串S[0…N-1],要求把S的前k
个字符移动到S的尾部,如把字符串“abcdef”
前面的2个字符‘a’、‘b’移动到字符串的尾部,
得到新字符串“cdefab”:即字符串循环左移k。
?多说一句:循环左移k位等价于循环右移n-k位。算法要求:
? 时间复杂度为 O(n),空间复杂度为 O(1)。问题分析:
? 暴力移位法
每次循环左移1位,调用k次即可...
分类:
其他好文 时间:
2015-06-18 15:23:53
阅读次数:
166
对一个链表进行排序,且时间复杂度要求为O(n log n) ,空间复杂度为常量。一看到O(n log n) 的排序,首先应该想到归并排序和快速排序,但是通常我们使用这两种排序方法时都是针对数组的,现在是链表了。 归并排序法:在动手之前一直觉得空间复杂度为常量不太可能,因为原来使用归并时,都是...
分类:
其他好文 时间:
2015-06-18 13:14:02
阅读次数:
95
给出一个数组,求出最大子数组的和以及始末位置。
直接给出代码解释:int sub_array(int *array,int n)
{
int max2 = -INF;
int sum = 0;
int cur = 0;
int count2 = 0;
int flag;
int _end;
/*时间复杂度:o(n) 空间复杂度:o(1) */...
分类:
编程语言 时间:
2015-06-16 21:16:41
阅读次数:
230
Manacher 算法是时间、空间复杂度都为 O(n) 的解决 Longest palindromic substring(最长回文子串)的算法。回文串是中心对称的串,比如 'abcba'、'abccba'。那么最长回文子串顾名思义,就是求一个序列中的子串中,最长的回文串。本文最后用 Python ...
分类:
编程语言 时间:
2015-06-16 20:49:30
阅读次数:
354