设计思想: 设数组长maxLength; 设子数组大小(length),依次为1,2,3,4,5........maxLength,并求每一个子数组的和 比较子数组和大小,求最大子数组和; 源代码: import java.util.Vector; public class MaxListNumbe ...
分类:
编程语言 时间:
2018-01-25 11:03:09
阅读次数:
142
要求: 输入一个二维整形数组,数组里有正数也有负数。 求所有子数组的和的最大值。 吐槽: 这个算法不是特别好写,看了很多学长学姐的写法发现他们绝大多数的逻辑上都有硬伤,方法也很土(。。。),这个题我认为需要使用DFS遍历+DP动态规划搞定,设计上不详细讲解了,比较麻烦。 运行截图: ...
分类:
移动开发 时间:
2018-01-25 11:00:37
阅读次数:
191
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 思路一要点:1:设置结果result的初始值为无穷小Integer.MIN_VALUE; 2:只需要一层循环就能完成任务 public class Solution { /* * @param nums: A list of intege ...
分类:
编程语言 时间:
2018-01-22 23:03:07
阅读次数:
207
1、为了解决一些给定的问题,算法要一次或者多次的递归调用自身来解决相关的子问题。这些算法通常采用分治的策略;将源问题划分为规模较小而结构与原问题类似的子问题;递归调用解决这些子问题,然后合并。归并排序算法采用了分治的思想来对数组进行排序。 2、原理,:把原始数组分成若干子数组,对每一个子数组进行排序 ...
分类:
编程语言 时间:
2018-01-21 19:13:18
阅读次数:
143
给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大。输出答案时,请分别返回第一个数字和最后一个数字的下标。(如果两个相同的答案,请返回其中任意一个) 样例 给定 [-3, 1, 3, -3, 4], 返回[1,4]. 想清楚这个问题这道题就差不多有解了:“什么时候更新start(第一个数字 ...
分类:
编程语言 时间:
2018-01-18 13:30:16
阅读次数:
145
public class 连续子数组的最大和{ // 时间复杂度为O(n) private static int getSubMaxSum(int[] array) { if (array == null || array.length == 0) { return 0; } int sum = 0 ...
分类:
编程语言 时间:
2018-01-15 16:29:59
阅读次数:
118
内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值,要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, ...
分类:
编程语言 时间:
2018-01-11 20:38:05
阅读次数:
195
1 static int length1(int num) //想着要定义一个函数取,质因子数组的长度 2 { 3 int arrayLength = 0; 4 5 for (int i = 2; i <= num; i++) //for循环中I 不会归零 只能遍历一次 6 { 7 ... ...
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 示例1 输 输出 7 思路: 类似于megersort 先统计子数组内部的 ...
分类:
编程语言 时间:
2018-01-01 19:35:45
阅读次数:
172
1、我自己的提交到练习系统的代码思路: (1)如果m < n,0种方案; (2)把m个还鞋子的人写成m个1,那么,每个1的后面,就是借鞋子的人的个数; (3)那么,一开始 ,可借鞋子数组a[] = {1, 2, 3, 4, ……, m}; (4)对于第i个1后面的位置,可以允许借的鞋子的数量范围为: ...
分类:
编程语言 时间:
2017-12-30 22:39:17
阅读次数:
187