- 博客(36)
- 资源 (4)
- 收藏
- 关注
原创 编程之美之"子数组的最大乘积"
问题定义给定一个长度为N的整数数组,只允许用乘法,不能用除法,计算任意(N-1)个数的组合中乘积最大的一组。解法1(空间换时间)代码如下:/** * 空间换时间 时空复杂度O(N) * * @param A * @return */ public int findMaxProduct(int[] A) { int[] s =
2017-08-15 17:52:08
1385
原创 动态规划之单调队列
单调队列的性质单调队列中的元素单调递减或单调递增只能在队尾插入,可以从两头删除其目的就是为了保持队列中元素的单调性,从而满足动态规划的最优性问题的需求。从一个例子理解单调队列及其应用问题定义给定一个长度为N的整数数列a1,… ,aN,i=0,1,…,N-1和滑动窗的长度k. 求窗里面所包含的数的最大值。思路1,暴力破解法从数列头部开始,每次移动滑动窗一次,每移动一次,便求出该窗口内的最大数。显
2017-08-15 15:25:32
520
原创 字符串匹配-Sunday算法
Sunday算法匹配原理从前往后匹配,如果遇到不匹配情况,则查看母串S中参与匹配的最后一位的下一位字符,记做C,如果C出现在模板串T中,选择模板串中C最右出现的位置对齐;如果C没有出现在模板串T中,直接跳过该匹配区域。算法演示母串S: S E A R C H S U B S T R I N G 模板串T:S U B S T R I N G开始匹配:
2017-08-15 11:32:14
364
原创 编程之美-判断两个链表是否相交 (涵其扩展问题)
问题定义两个单向链表的头指针,两个链表都可能带环 1: 判断这两个链表是否相交 2: 如果相交,给出他们相交的第一个节点。无环情况判断链表是否相交单链表相交,意味着相交结点具有相同的内存地址,且相交结点后的所有结点是两个链表共有的。 方法一: 如果两条单链表相交,则将链表B,连接到链表A后面,如图所示(上面的链表是A,下面的链表是B),会形成环路,且链表B的表头一定在环上。因此我们只需要
2017-08-15 11:29:04
333
原创 最大连续子序列 及 延伸题目
最大连续子序列问题问题定义: 给定K个整数的序列{ N1, N2, …, NK },其任意连续子序列可表示为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20解法1:朴素解法, 时间复杂度 O
2016-08-28 23:24:55
1052
转载 划分树
转载地址:http://blog.youkuaiyun.com/luomingjun12315/article/details/51253205目录(?)[-]划分树的定义建树查询复杂度实战演练 对于区间第k大值,除了我们之前介绍的归并树之外。现在要登场的数据结构将比归并树的效率更高,他就是划分树。我们学习归并树的时候了解到:归并树 = 线段树
2016-07-14 23:41:16
554
翻译 Java-try-with-resource
try-with-resources语句是一个声明一个或多个资源的 try 语句。一个资源作为一个对象,必须在程序结束之后随之关闭。 try-with-resources语句确保在语句的最后每个资源都被关闭 。任何实现了 java.lang.AutoCloseable的对象, 包括所有实现了 java.io.Closeable 的对象, 都可以用作一个资源。 下面的例子
2016-07-14 00:48:59
676
转载 线段树
转载地址:http://www.cppblog.com/menjitianya/archive/2016/02/25/212891.html?utm_source=tuicool&utm_medium=referral零、前言一、引例 1、区间最值 2、区间求和二、线段树的基本概念 1、二叉搜索树 2、数据域
2016-06-02 21:30:24
905
转载 树状数组
转载地址:http://www.cppblog.com/menjitianya/archive/2015/11/02/212171.html目录 一、从图形学算法说起 1、Median Filter 概述 2、r pixel-Median Filter 算法 3、一维模型 4、数据结构的设计
2016-05-30 12:47:25
854
转载 应该知道的7种回归模型
作者Sunil Ray出处:csdn什么是回归分析?回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方
2016-05-23 20:57:06
57340
转载 欧几里得和扩展欧几里得
http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html
2016-05-23 17:34:19
312
转载 机器学习-资料整理
机器学习-个人资料整理转载地址:http://www.csuldw.com/2015/09/23/2015-09-23%20Machine%20learning%20materials/学习Machine Learning也有很长一段时间了,前段时间在paper中应用了GTB(Gradient Tree Boosting)算法。在我的数据集上GTB的performance比Rand
2016-05-22 16:32:55
812
转载 众神牛博客
众神犇的博客2011年世界冠军,浙江大学巫泽俊(watashi)大神的blog【其实大都是一些二次元的宅物啦啦啦←_←http://blog.watashi.ws/北京大学Matrix67大神的博客里面很多有趣的数学知识【基础组决赛的最后一题就出自这里http://www.matrix67.com/blog/清华大学郭家宝大神的博客,里面很多各种有用的东西,不光是算
2016-04-08 23:18:52
726
原创 Gaussian mixture model. EM VS variational inference
A Gaussian mixture modelis a probabilistic model that assumes all the data points are generated from a mixture of a finite number of Gaussian distributions with unknown parameters. One can think o
2016-04-07 22:48:11
1010
转载 SVD分解
奇异值分解(We Recommend a Singular Value Decomposition)原文作者:David Austin原文链接: http://www.ams.org/samplings/feature-column/fcarc-svd译者:richardsun(孙振龙)在这篇文章中,我们以几何的视角去观察矩阵奇异值分解的过程,并且列举一些奇异值分解
2016-03-16 17:09:22
637
转载 高斯分布_三种类别
Multivariate Gaussian (normal) pdf defined asevaluated at feature vector , with mean vector and covariance matrix satisfying: andAlso written as or , where symbol m
2016-03-15 22:47:10
5356
转载 morris后续遍历
后续遍历稍显复杂,需要建立一个临时节点dump,令其左孩子是root。并且还需要一个子过程,就是倒序输出某两个节点之间路径上的各个节点。步骤:当前节点设置为临时节点dump。1. 如果当前节点的左孩子为空,则将其右孩子作为当前节点。2. 如果当前节点的左孩子不为空,在当前节点的左子树中找到当前节点在中序遍历下的前驱节点。 a) 如果前驱节点的右孩子为空,
2014-03-30 16:24:54
793
转载 shell 中 source 用法
source命令:source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。用法: source filename 或 . filenamesource命令除了上述的用途之外,还有一个另外一个用途。在对编译系统核心时常常需要输入一长串的命令,如:make mrpropermake men
2013-12-17 16:21:18
1219
原创 java界面编程把界面放在屏幕中央的方法
Java开发桌面程序用AWT或SWING,可以用设置主窗口位置,使主窗口居中一般使用下面的方法:01、第一种方法 int windowWidth = frame.getWidth(); //获得窗口宽 int windowHeight = frame.getHeight(); //获
2013-10-26 13:23:54
3075
转载 [转]Ubuntu 12.04 使用Eclipse搭建C/C++编译环境 2012-06-13 22:07:18
标签:Ubuntuubuntu 12.04 eclipse c++首先是安装Eclipse,方法有两种: 第一种是通过Ubuntu自带的程序安装功能安装Eclipse,应用程序->Ubtuntu软件中心,搜Eclipse安装即可。 第二种方法是用命令:应用程序->附件->终端
2013-10-04 13:10:56
540
原创 unbuntu中安装jdk,eclipse并创建快捷方式的命令
1、下载 Eclipse从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Developers2、解压文件$ sudo mv eclipse-cpp-juno-M7-linux-gtk.tar.gz /usr/lib/$ cd /usr/lib/$ sudo
2013-10-04 12:12:34
700
转载 杭电1023
不得不说,这是一道特别好的题目!我从一开始的找不到思绪,再到了解卡特兰数,了解到大数的乘除法,每一步都收获良多! 先理清一下学到的知识点吧!1.卡特兰数!又称 卡塔兰数//维基百科连接卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一
2013-08-15 21:11:45
894
原创 杭电1022
虽然说是一道水题但是,却花费了我不少的时间,之所这样有两个原因:一、题目是英文的,看不太懂,就可能对题意理解不清楚,其实这道题应该很快可以解出来的,但是我没有理解,他让打印出如何进出站,这个要求。所以.......二、对栈这个概念理解的不够深入。不说了伤心:粘贴代码;里面有注释,希望能够让和我一样悲催的同志,得到点启发。#include#include#includeint
2013-08-15 19:46:09
699
转载 c/c++中的调用约定(转自百度百科)
__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。_stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是
2013-07-30 22:25:29
559
转载 visual c++中_T、_TEXT和TEXT宏的区别和作用
unicode字符参考:http://baike.baidu.com/view/40801.htm1.在字符串前加一个L作用。如:L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。strlen("asd") = 3;而strlen(L"asd") = 6;2._T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器
2013-07-30 09:32:00
2251
转载 Java中BigDecimal的8种舍入模式
Java中BigDecimal的8种舍入模式java.math.BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以10的负scale次幂。因此,BigDecimal表示的数值是(unscaledValue × 10-
2013-07-26 18:41:46
542
转载 用多态计算一百以内的质数
随笔- 421 文章- 0 评论- 21 用多态计算一百以内的质数作者:gnuhpc出处:http://www.cnblogs.com/gnuhpc/view plaincopy to clipboardprint?#include class Sieve { public: virtual int NextNumb
2013-07-24 17:18:44
854
转载 java中的引用类型(java疯狂笔记)
import java.lang.ref.*;class TestPhantomReference { public static void main(String[] args)throws Exception { String str = new String("hello,world"); //创建一个引用队列 ReferenceQueue rq = new Refe
2013-07-23 22:30:14
579
转载 普通类实现枚举与抽象类的应用比较
普通类实现枚举与抽象类的应用比较分类: Java 2012-06-05 12:00 560人阅读 评论(0)收藏举报stringclass测试当我们想实现一个星期几的枚举时候我们自己编写一个类来实现!如果我们用实体类的代码如下:[java] view plaincopyprint?package com.jemsn.weekd
2013-07-23 19:48:01
629
原创 java中的实现接口和含有抽象方法的枚举类
含有抽象方法的枚举类型:public enum Operator {/*PLUS , MINUS , TIMES , DIVIDE;double eval(double x , double y){switch(this){case PLUS: return x+y;case MINUS:return x-y;case TIMES:return x*y;case
2013-07-23 19:44:45
881
转载 多态在 Java 和 C++ 编程语言中的实现比较
多态在 Java 和 C++ 编程语言中的实现比较众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持到底是如何实现的呢,本文对此做了全面的介绍。注意到在本文中,指针和引用会互换使用,它们仅是一个抽象概念,表示和另一个对象的连接关系
2013-07-21 21:25:26
793
原创 浅谈java中的构造类的调用
java继承中的构造类的调用的问题,简而言之就是按照继承树向上走,走到最顶层的类时,开始执行构造器,按照原来追溯的路线向下执行各类的构造器。有三个类,Creature 箭头指向为被继承的类其中Animal中有三个构造器,其中有一个构造器调用了本类中的另一个构造器Hello中的一个无参构造器调用了直接父类中的一个构造器(使用super)则构造器的执行顺序是:道理很
2013-07-21 21:00:09
554
转载 java中从控制台读取输入的三种方法
Java中获取键盘输入值的三种方法关键字:Java 程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 以下将列出几种方法: 方法一:从控制台接收一个字符,然后将
2013-07-21 09:57:39
1208
翻译 java bufferedread的作用和用法
public class BufferedReaderextends Reader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。 通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 r
2013-07-20 21:25:27
3237
转载 java中操作数组的常用工具类
Java提供了的Arrays类里包含了一些static修饰方法可以直接操作数组,这个Arrays类里包含了提供了如下几个static修饰的方法(static修饰的方法可以直接通过类名调用):int binarySearch(type[] a,type key):这个方法查询key元素值在a数组中出现的索引;如果a数组不包含key元素值,则返回-1.调用该方法时要求数组中元素已经按升序排列,这样
2013-07-20 20:19:07
667
转载 java中静态代码块的用法 static用法详解
转自小小鱼:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.htmljava中静态代码块的用法 static用法详解(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情
2013-07-13 16:09:27
459
Pentaho Kettle解决方案-ETL解决方案.源码
2017-04-19
计算机等级考试成绩分析系统(MFC)
2013-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人