这道题在LeetCode上是Hard类的,首先声明,代码是别人的,我只是解释一下。
class Solution {
public:
/*
如果数组是有序的,那么大家都会想到并使用二分搜索,但本题设置了这样一个障碍:数组是rotate过的。这样,原先有序的数组就变成了局部有序:(假设)分为两个有序的子数组,并且左边子数组中的元素都大于右边子数组中的元素。这时,采用二分搜索,需要判断数组nu...
分类:
其他好文 时间:
2015-06-25 09:06:19
阅读次数:
108
尽管js的apply方法在平常的使用中并不多见,但是在某些地方使用的还是很有帮助性的,这里就和大家说两个比较实用的例子:1.数组最大最小值 求数组中的最大最小值,js有相应的方法:Math.min(),Math.max(),但是这两个方法有个不方便的地方就是其参数不能是数组,而是单个元素值,即(pa...
分类:
移动开发 时间:
2015-06-23 15:06:54
阅读次数:
166
一、题目要求:输入一个二维整形数组,数组里有正数也有负数。求所有子数组的和的最大值。设计思想:这道题目感觉很难,第一次设想是求出每一行最大子数组的和,同时求出他们的坐标,比较他们是否在同一行,后来发现很难实现通过图的遍历可以查找结果:并不是自己所做,题目还是偏难。二、源代码#include#incl...
分类:
移动开发 时间:
2015-06-23 11:47:03
阅读次数:
130
输入一个二维整形数组,数组里有正数也有负数。二维数组首尾相接,象个一条首尾相接带子一样。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。#include #include using namespace std;#define M 3#define N 6v...
分类:
编程语言 时间:
2015-06-23 11:27:48
阅读次数:
109
思路:1、随机输入数组2、求出数组之和a3、用a与数组第一个数开始做和。如果数字小于a,那么舍弃该数;如果大于a,继续计算a与第一个数与第二个数之和,如果小于a舍弃这两个数,如果大于a,继续计算a与第一个数、第二个数、第三个数之和......直到计算的最后一个数为止。4、与第3步步骤类似,只是从最后...
分类:
编程语言 时间:
2015-06-23 11:24:23
阅读次数:
117
题目输入一个二维整形数组,数组里有正数也有负数。求所有子数组的和的最大值。设计思路:用二维数组表示玩这个数组后,首先找出全为正的一个个矩形区域,在判断各个矩形区域之间的联通。
分类:
移动开发 时间:
2015-06-23 09:57:59
阅读次数:
186
#include#includeusing namespace std;#define N 100typedef struct{ int dian[N]; int xian[N][N]; int dianx, xianx;}A;void set(A &shu, int x, int...
分类:
移动开发 时间:
2015-06-23 07:34:06
阅读次数:
199
设计思路:对n*m的二维数组进行分解,分解为n个一维数组,再先求这n个一维数组的最大子数组和,并记下每行最大一维子数组的下标如2-5,这是就会分两种情况第一种是行之间的最大子数组是相连的,如第一行是2-5,第二行是3-6,这是直接相加就行。第二种是不相连的如第一行是2-5,第二行是6-7,这时候就把...
分类:
编程语言 时间:
2015-06-23 06:10:00
阅读次数:
140
题目: 输入一个二维整形数组,数组里有正数也有负数。二维数组首尾相接,象个一条首尾相接带子一样。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。设计思路:把它转化成环一维数组的问题。把二维数组的列加起来,看作是一个以为数组,再利用一维数组的问题来解决它。实验...
分类:
编程语言 时间:
2015-06-23 00:41:34
阅读次数:
129
设计思想:主要用数据结构中遍历的思想,按照一定次序访问,不通则回溯。改程序已经做成界面版,在消灭星星中运用。源代码 :packagestar;importjava.awt.Component;importjava.awt.Container;importjava.awt.GridLayout;im....
分类:
编程语言 时间:
2015-06-23 00:34:09
阅读次数:
274