看到这种填合适的运算符之类的题目,第一感觉就是用dfs来枚举递归。
但邮箱道题目算法设计里面那么大的数据,想到有可能会超时。
用最直白的简单的方法dfs一遍后交上,超时。
——需要判重和边界结束条件。
在所有能剪断的地方痛下狠手,狂加特判+return;
然后就炒鸡快了
#include
#include
#include
#define ADD 32000
using namespa...
分类:
其他好文 时间:
2014-05-23 02:06:42
阅读次数:
285
快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是O(N^2),一般的时间复杂度是O(n*lgn).
快速排序的思想就是分治,每一趟排序过程都把一个数放到最终的位置上面去。然后这个位置把数组分为前半部分和后半部分。针对前半部分和后半部分再递推进行快速排序。
快排的java实现:
public class Sort {
public stat...
分类:
其他好文 时间:
2014-05-23 01:44:26
阅读次数:
218
如果p1和p2(p1 p2)均为素数,且任意整数p(p1 p p2)都不是素数,则说素数p1与p2是相邻的,并定义它们之间的距离为d=
p2 - p1。给定正整数L和U,求出区间[L,
U]中距离最小的两个相邻素数C1与C2和距离最大的两个相邻素数D1与D2。
例如,L=2,U=17时,C1=2,C2=3,D1=7,D2=11。
import java.util.ArrayLis...
分类:
其他好文 时间:
2014-05-23 00:56:16
阅读次数:
250
初始时刻,只有一个“1”组成的字符串被存储到计算机中。在以后的每一个时刻,计算机会将当前字符串中的每一个“0”变为“10”,每一个“1”变为“01”。例如,在第一个时刻,字符串将变为“01”,在第二个时刻,字符串将变为“1001”,在第三个时刻,字符串将变为“01101001”。
你的任务是,求出在第n个时刻,字符串中有多少个连续的0对。例如,在第3个时刻,字符串中有1个连续的0对。
...
分类:
其他好文 时间:
2014-05-23 00:17:49
阅读次数:
266
【题目】
Implement wildcard pattern matching with support for '?' and '*'.
'?' Matches any single character.
'*' Matches any sequence of characters (including the empty sequence).
The matching should cover the entire input string (not partial).
The functi...
分类:
其他好文 时间:
2014-05-23 00:17:12
阅读次数:
364
策略模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
简单定义:封装可以互换的行为,并使用委托来决定要使用哪一个。
OO原则:
封装变化
多用组合,少用继续。
针对接口编程,不针对实现编程。
以书中的Duck为例:
Duck.java(抽象类,performFly()与performQuack()函数的实现委托给行为类,行为由子类...
分类:
其他好文 时间:
2014-05-22 23:20:51
阅读次数:
346
题目:
Alibaba笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号;
再给定N个英文单词关键 字,请说明思路并编程实现方法String extractSummary(String description,String[] key words),
目标是找出此产品描述中包含N个关键字(每个关键词至少出现一次)的长度最短的子串,作为产品简介输出。(不限...
分类:
其他好文 时间:
2014-05-22 22:37:55
阅读次数:
405
一、我们先回顾下SVM问题。
A、线性可分问题
1、SVM基本原理:
SVM使用一种非线性映射,把原训练 数据映射到较高的维。在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开。
2、问题的提出:
3、如何选取最优的划分直线f(x)呢?
4、求解:凸二次规划
建立拉格朗日函数:
求偏导数:
...
分类:
其他好文 时间:
2014-05-22 17:10:54
阅读次数:
475