给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。 返回这个最大的差值。 您在真实的面试中是否遇到过这个题? Yes 例子 给出数组[1, 2, -3, 1]。返回 6 注意 子数组最少包括一个数 挑战 时间复杂度为O(n)。空间复杂度 ...
分类:
编程语言 时间:
2017-06-05 12:42:14
阅读次数:
225
题目描述: 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。 我的思路有点简单,就是从断点开始从前往后依次将后面的字符向前移动 ...
分类:
其他好文 时间:
2017-06-04 21:26:54
阅读次数:
142
有大量(几千万条级别)的号码段(或单一号码)相应地址的数据。如 130123--130129 成都 1301241--1301250 重庆 13012510001 成都 …… 请编程实现 1.输入任一号码,查找相应的地址。如没有提示未找到 2.号段数据的动态添加和删除 3.说出自己算法的时间复杂度和 ...
分类:
编程语言 时间:
2017-06-04 13:47:45
阅读次数:
133
排序 排序就是将一组杂乱无章的数据按一定的规律排列起来 插入排序——每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象适当位置上,直到对象全部插入为止 直接插入排序 时间复杂度: 空间复杂度: 是一种稳定的排序 二分排序 时间复杂度: 空间复杂度: 是一种稳定的排序 希尔排序 时 ...
分类:
编程语言 时间:
2017-06-04 10:43:43
阅读次数:
132
题目:左旋转字符串 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(n) 思路一、暴力移位法 核心思想:就是把须要移动的字符一步步移 ...
分类:
其他好文 时间:
2017-06-02 17:38:52
阅读次数:
167
算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。 随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。 我们看一下小例子: int value = 0; // ...
分类:
编程语言 时间:
2017-06-01 20:58:34
阅读次数:
203
高斯求和 计算1+2+...+100 算法的概念就不多说了 强调一点就是,没有通用的算法,就像永远没有银弹,所有的算法都有自己的适用领域 评判算法好坏的方法 复杂度用大O表示,又分为时间复杂度和空间复杂度,一般情况没有声明是时间复杂度或者空间复杂度都默认是时间复杂度。 常见的例如O(n),描述的是针 ...
分类:
编程语言 时间:
2017-05-31 10:14:52
阅读次数:
138
最长上升子序列总结 最开始的知道最长上升子序列的时候,简单DP的时候,但是后来遇到很多最长上升子序列的问题就没法用DP来解决,时间复杂度和空间复杂度都不允许。 ...
分类:
其他好文 时间:
2017-05-30 15:46:26
阅读次数:
173
题意:你要从[1,n]这个n个数中猜出来规定的某个数,现在这个数未知,问你在最糟糕的情况下(但是你采用了最优的策略),你要猜多少次才能猜出这个数。现在有两种条件: 第一种:当你猜的数比指定的那个数小的时候,系统会提示你small; 第二种:当你猜的数比指定的那个数大的时候,系统会提示你wrong,但 ...
分类:
其他好文 时间:
2017-05-27 20:44:34
阅读次数:
276
ArrayList和LinkedList最主要的区别是基于不同数据结构 ArrayList是基于动态数组的数据结构,LinkedList基于链表的数据结构,针对这点,从时间复杂度和空间复杂度来看主要区别: 1.时间复杂度 对于随机访问,ArrayList通过索引快速定位元素位置;而LinkedLis ...
分类:
编程语言 时间:
2017-05-25 00:09:14
阅读次数:
246