1.归并排序分治模式:(1)分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。(2)解决子问题,递归求解子问题。子问题规模足够小时,直接求解。(3)合并子问题的解,得到原问题的解。归并排序完全遵循分治模式。(1)分解待排序的n个元素列成各具n/2个元素的两个子序列。(2)使用归并排序递归地...
分类:
编程语言 时间:
2015-01-20 17:21:56
阅读次数:
204
算法是编程的灵魂,是编程思想的精髓————Algorithm One Day One...
分类:
编程语言 时间:
2015-01-20 12:04:33
阅读次数:
177
题目:
给定一个长度为N的整形数组,只允许用乘法,不能用除法。计算任意N-1个数的组合中乘积最大的一组。
方法一:
#include
#define MAXN 10000
using namespace std;
int n, a[MAXN], s[MAXN], t[MAXN], p[MAXN];
//s[i]表示数组前i个元素的乘积
//t[i]表示数组后N-i个元素的乘...
分类:
编程语言 时间:
2015-01-18 22:48:38
阅读次数:
203
《编程之美》的2.14中抛出了这么一道题。我的解法如下:#!/usr/bin/env pythondef getMaxSubset(data): if len(data)==0: return curSum = maxSum = data[0] i = 1 wh...
分类:
编程语言 时间:
2015-01-15 17:58:37
阅读次数:
247
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。 1 #includ...
分类:
编程语言 时间:
2015-01-14 21:23:51
阅读次数:
191
问题描述: 微软10.15笔试:对于一个数组{1,2,3}它的子数组有{1,2},{1,3}{2,3},{1,2,3},元素之间可以不是连续的,对于数组{5,9,1,7,2,6,3,8,10,4}, 升序子序列有多少个?或者换一种表达为:数组int a[]={5,9,1,7,2,6,3,...
分类:
编程语言 时间:
2015-01-12 16:17:20
阅读次数:
153
虽然是两个水题,但是一次AC的感觉真心不错这个问题算是maximum-subarray问题的升级版,不过主要算法思想不变:1. maximum-subarray问题maximum-subarray就是找到数组A[1....n]中的连续子数组A[i.....j]并且A[i]+...+A[j]和最大。当...
分类:
其他好文 时间:
2015-01-10 16:32:04
阅读次数:
135
第一次使用NSPredicate类,这个类主要做数据过滤。比如数组根据条件过滤对象,过滤对象是否包含对象,支持正则表达式。作用等同于sql条件查询,由于是系统类,效率更高一些。
//===================================================
例子1:数组根据对象属性过滤对象
@interface Person : NSObject
@proper...
分类:
其他好文 时间:
2015-01-09 17:24:27
阅读次数:
162
选择排序是比较简单的一种排序,它的主要思想是每次循环找出最小的数,把它放到未排序的子数组的首位,然后进行下一次循环。下一次循环的时候,就多了一个排好序的数,少了一次比较。用python如下实现:defChoose_sort(a):
N=len(a)
foriinrange(0,N):
min_index=i#最小数的起..
分类:
编程语言 时间:
2015-01-09 01:47:07
阅读次数:
275