用了半小时才写出来啊, 其实这种思路应用范围很广,利用有序性这个特点,比如本体只要是有序就行,例如两个集合是有序的,求交集,有序数组的查找,有序数组的归并,有序有了优化的可能。 输入一个正数 n,输出所有和为 n 连续正数序列 例如输入 ,由于 ,所以输出 个连续序列 和 。 分析:我们用两个数small和big分别表示序列的最小值和最大值。首先把small初始化为 ,big初始化为 。如果从sm ...
2014-06-26 17:43 0 2973 推荐指数:
如果不考虑时间复杂度,我们可以枚举出所有子数组并求出他们的和。不过非常遗憾的是,由于长度为n的数组有O(n2)个子数组(即:n + n-1 + ... + 1=n(n+1)/2);而且求一个长度为n的数组的和的时间复杂度为O(n)。因此这种思路的时间是O(n3)。 上边这句话不是原创 ...
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。 输入描述: 输出描述: 输入例子1: 输出例子1: 思路:对输入的数组进行计算, import ...
这是《写给大忙人看的java核心技术》中的一道练习题。 1. 输出最大正数值 直接输出包装类Double的MAX_VALUE。 2. 输出最小正数值 使用Math.nextUp()方法也能输出最小的正数 java.lang.Math.nextUp(double ...
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。 简单的方法就是按照给位进行分析 在个位出现1的个数=n/10+(个位=0,0;个位> ...
代码: ...