自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 为ppt添加页码进度条

用 VBA 实现在 PPT 最下边加进度条,方便查看进行到总长度的多少,根据选择的页面不同,进度条的长度也不同。提示:进度条只是体现已播放的幻灯片张数,不是用于计时。进度条的制作添加方法如下:打开 PPT,按 Alt+F11,打开VBE编辑器,插入——模块,并复制下面的代码,最后单击工具栏的“运行”按钮。Sub AddProgressBar() On Error Re...

2020-03-20 18:46:08 3300

原创 机器学习初学者——模型评估与选择

一.经验误差与过拟合1、错误率:通常把分类错误的样本数占样本总数的比例称为错误率(Error rate)。例如m个样本中有a个样本分类错误,则错误率E=a/m。相应的1-a/m 称为精度(accuracy),即精度=1-错误率。2、误差:1)我们把机器学习在训练集上的误差称为“训练误差”(training error)或“经验误差”(empirical error)

2017-11-30 19:44:39 556

原创 机器学习初学者——常见算法篇

一.ML算法的类型1、监督学习(Supervised Learning):监督学习可以理解为:使用标记的训练数据来学习从输入变量(X)到输出变量(Y)的映射函数。Y=f(X)监督学习问题可以有两种类型:1)分类:预测输出变量处于类别形式的给定样本结果。例如男性和女性,健康与病态等。2)回归:预测给定样本的输出变量的实值结果

2017-11-17 16:19:39 668

原创 计算两个日期之间相差多少天,计算当前日期是星期几

完美世界编程题,计算两个日期之间经过了多少个零点和多少个星期四。package wanmeishijie170926;/* *输入2017/9/7 0:0:02017/9/21 0:0:0输出 13,1 * */import java.util.Scanner;public class Test1 { public static void main(Strin

2017-09-26 21:39:18 2217

原创 实现包含min,max,push,pop函数的栈

定义辅助栈分别保存最大值、最小值。import java.util.Scanner;import java.util.Stack;public class Test { public static class myStack { Stack dataStk = new Stack(); Stack minStk = new Stack(); St

2017-09-26 21:20:12 774

原创 数据库索引

一.数据库索引1、索引的原理数据在磁盘上是以块的形式存储的。为确保对磁盘操作的原子性,访问数据的时候会一并访问所有数据块。磁盘上的这些数据块与链表类似,即它们都包含一个数据段和一个指针,指针指向下一个节点(数据块)的内存地址,而且它们都不需要连续存储(即逻辑上相邻的数据块在物理上可以相隔很远)。对于经过排序的字段,可以使用二分查找,因此只要访问log2 N个数据块。同样

2017-09-19 14:42:09 508

原创 synchronized与Lock

既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。一.synchronized的缺陷1、等待锁不可中断如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其

2017-09-11 17:24:38 321

原创 HashMap、Hashtable与ConcurrentHashMap

区别HashMapHashtableConcurrentHashMap安全性非线程安全线程安全线程安全性能异步处理,性能高同步处理,性能校低适合高并发null操作key和value允许存放null都不允许null都不允许nullConcurrentHa

2017-09-03 17:47:40 337

原创 深入理解Java HashMap(JDK1.8)

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(JavaDevelopmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介

2017-09-02 20:21:55 404

原创 Java虚拟机的体系结构和内存模型

jvm内存结构方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序计数器是运行是线程私有的内存区域。每个线程都有一个独立的栈和程序计数器。主要关注内存结构,以及各自存储什么内容。Java堆(Heap),是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的

2017-09-01 15:46:14 309

原创 java 多态

一、什么是多态指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态性是对象多种表现形式的体现。比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows

2017-08-31 16:21:56 272

原创 值传递与引用传递

引用传递的本质就是别名。而这个别名是存放在栈内存中的,一块堆内存可以被多个栈内存所指向。public class Person { String name; int age; public void info(){ System.out.println("name="+name+",age="+age); }}public class TestDemo { public s

2017-08-30 18:04:58 274

原创 JAVA集合--ArrayList实现原理

目录:      一、 ArrayList概述      二、 ArrayList的实现                  1) 私有属性                 2) 构造方法                 3) 元素存储                 4) 元素读取                 5) 元素删

2017-08-30 16:41:14 252

原创 素数对--腾讯2017校招编程

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 输入描述:输入包括一个整数n,(3 ≤ n 输出描述:输出对数输入例子1:10输出例子1:2思路:从2开始,先判断一个数i是否为素数,在

2017-08-29 15:34:54 294

原创 和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正

2017-08-24 22:00:57 223

原创 数组中累加和为定值K的最长子数组长度

1、给定一个数组,值全是正数,请返回累加和为给定值k的最长子数组长度。方法一:暴力求解,求出所有的子数组,共n*(n-1)/2个,然后对每个子数组求和,时间复杂度为O(n^3)改进方法:因为数组值全是整数,所以长度为n的子数组和一定大于长度为n-1的子数组和(不管多的一项在子数组左边还是右边)。所以可以利用滑动窗口的思想来求解。调整窗口的长度及左右边界使其内的子数组和为k,求出最大窗口

2017-08-24 11:14:32 3284 3

原创 二叉树的最近公共祖先LCA

情况1:二叉树是个二叉查找树,且root和两个节点的值(a, b)已知。如果该二叉树是二叉查找树,那么求解LCA十分简单。基本思想为:从树根开始,该节点的值为t,如果t大于t1和t2,说明t1和t2都位于t的左侧,所以它们的共同祖先必定在t的左子树中,从t.left开始搜索;如果t小于t1和t2,说明t1和t2都位于t的右侧,那么从t.right开始搜索;如

2017-08-22 18:10:58 1994

原创 有趣的排序——百度2017春招

有趣的排序题目链接度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序? 输入描述:首先输入一个正整数N,接下来的一行输入N个整数。(N 输出描述:输出一个整数表示最少的操作次数。输入例子1:419 7 8 25

2017-08-21 16:29:00 516

原创 单调栈——(直方图内最大矩形 || 最大全1子矩阵 )

单调栈,顾名思义就是说栈内的元素,按照某种方式排序下,必须是单调的。如果新入栈的元素破坏了单调性,就弹出栈内元素,直到满足单调性。它可以很方便地求出某个数的左边或者右边第一个比它大或者小的元素,而且总时间复杂度O(N)。直方图内最大矩阵给出一个柱形统计图(histogram), 它的每个项目的宽度是1, 高度和具体问题有关。 现在编程求出在这个柱形图中的最大面积的长方形。例如:7

2017-08-17 15:07:08 2187

原创 java抽象类和接口

抽象类和接口共同点都包含有抽象方法;都不能被实例化;区别 项目 抽象类 接口 关键字 abstract class 类名称{ } interface 接口名{ } 结构组成 抽象方法,普通方法,全局变量、全局常量、属性、构造方法 抽象方法、全局常量 权限 可以使用各种权限 只能用public 子类 extends继承抽象类 implem

2017-08-16 11:24:26 202

原创 阿里内推编程测验---靶场射击,类似[LeetCode]Burst Balloons

在某射击场有N个靶,每个靶上都有一个分数,存在score数组中,击中第i个靶的得分为core[left]*score[i]*score[right],同时原left和right两个靶变为相邻的靶,其中得分为0的靶是不能射击的,当left不存在或者不能射击时,得分为score[i]*score[right],同理,right也遵循此规则,当left和right都不存在或者都不能射击时,得分为scor

2017-08-16 10:31:51 727

原创 最长递增子序列

题目描述 牛客网题目对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2...,其中Ui 给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。测试样例:[2,1,4,3,1,5,6],7返回:4最长递增子序列,Longest Increasing Subs

2017-08-15 17:58:42 298

原创 java 类加载机制

类的生命周期java程序使用某个类时,必须按照以下顺序执行:(1)加载:查找并加载类的二进制数据;(2)连接:包括验证、准备和解析类的二进制;验证:确保加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的符号引用转为直接引用(3)初始化:给类的静态变量赋初始值类的加载什么是类的加载?类的加载指的是将类的.cl

2017-08-14 17:47:47 437

原创 网易秋招内推——等差数列

如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列 输入描述:输入包

2017-08-13 15:58:24 1288

原创 网易春招2017真题2——赶去公司

终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急bug。假设市区是一个无限大的区域,每条街道假设坐标是(X,Y),小易当前在(0,0)街道,办公室在(gx,gy)街道上。小易周围有多个出租车打车点,小易赶去办公室有两种选择,一种就是走路去公司,另外一种就是走到一个出租车打车点,然后从打车点的位置坐出租车去公司。每次移动到相邻的街道(横向或者纵向)

2017-08-12 11:46:06 323

原创 数组分为两部分,使得其和相差最小

【问题】将数组分为两部分,使得两部分的和最接近,返回两部分的差值。例如:int[] array={1,0,1,7,2,4},分为两部分为{1,0,1,2,4},{7},差值为1。参考1:《编程之美》第2.18节,不过问题有所不同,2.18节要求长度为2n的数组分为两个长度为n的数组,使得两部分和最接近。参考2:http://www.tuicool.com/art

2017-08-11 17:14:27 9798

原创 求最大子矩阵的和、求最大子数组的和

有一个正整数和负整数组成的NxN矩阵,请编写代码找出元素总和最大的子矩阵。求一个M*N的矩阵的最大子矩阵和。比如在如下这个矩阵中: 0 -2 -7  0 9  2 -6  2-4  1 -4  1-1  8  0 -2 拥有最大和的子矩阵为: 9 2-4 1-1 8其和为15。思路:因为矩阵肯定是对齐的,所以如

2017-08-11 14:16:59 1704

原创 最长回文子串manacher算法

最长回文子串子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。基础题:给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。https://www.nowcoder.com/practice/df00c27320b24278b9c25f6bb1e2f3b8?tpId=69&&tqId=2967

2017-08-08 16:36:39 301

原创 java Synchronized关键字和死锁

Synchronized关键字使用简单的代码实现线程的‘死锁’,这道题考的是Synchronized关键字Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前

2017-08-07 15:59:29 1907

原创 java 类初始化顺序

Java继承情况下的初始化顺序:/** * @author xiaohao * @date 创建时间:Jul 31, 2017 3:50:06 PM * @version 1.0 */public class Sample { Sample(String s) { System.out.println(s); }

2017-07-31 16:10:02 201

原创 字符串匹配算法KMP算法

字符串匹配算法方法1 是使用暴力方法方法2 是使用KMP算法import java.util.Scanner;/** * @author xiaohao * @date 创建时间:Jul 29, 2017 4:05:17 PM * @version 1.0 */public class SubstringSearch { public static v

2017-07-29 17:01:57 369

原创 java abstract修饰符

abstract修饰符用abstract修饰的类叫做抽象类,抽象类不能被实例化用abstract修饰的方法叫做抽象方法,抽象方法没有方法体抽象类的规则:1、抽象类可以没有抽象方法,但有抽象方法的类必须是抽象类;2、抽象的子类没有实现父类的所有抽象方法,则子类必须被定义为抽象类;abstract class Base{ abstract void method1(); a

2017-07-28 16:04:27 3467

原创 Java static 和 final 修饰符

staticstatic可以用来修饰类的成员变量、成员方法和代码块,分别称为静态变量静态方法静态代码块静态变量和静态方法都可以直接通过类名访问  "类名.变量" 或  "类名.方法()",二者不依赖于类的实例,被类的所有实例共享,可以起到节省内存空间的作用。静态代码块,在java虚拟机加载类时,就会被执行。静态变量和实例变量的区别java虚拟

2017-07-27 09:56:08 167

原创 JAVA 构造方法与匿名对象

构造方法定义java中的类一般包含3个部分属性构造方法普通方法构造方法:构造方法名称与类名相同,无返回值;每个类中至少有1个构造方法;构造方法允许重载,重载时只需考虑改变参数类型或个数在实例化对象格式类名称  对象名称 = new  类名称()其中  类名称()  就是构造方法。如果定义类的过程中没有定义构造方法,则会在实例化时系统自动生

2017-07-24 17:54:12 664

原创 java String类的字符串常量不可变更

String类的常量赋值后不可变更,字符串的底层实现是数组,数组的缺陷是长度固定不可变更。但是通过“+”号实现的字符串连接并不是常量变更,而是新的堆地址指向。String str="hello";str=str+" world";str+="!!!";实际上开辟了新的堆内存空间,然后str指向的新的堆内存地址,而断开了之前的指向,之前的堆内存就成了垃圾。

2017-07-21 11:54:27 835

原创 java String字符串类的两种实例化方法

**一、String类的两种对象实例化方法**1、直接赋值 String str="hello"str是一个对象,此时hello 保存在堆内存当中。2、使用new关键字对象实例化 String str =new String ("hello")String 本身是一个类,类中都有构造方法两者区别1、直接赋值,多个对象赋值同一个时,并没有开辟新的堆内存空间

2017-07-21 11:37:41 4031 2

原创 python2和python3 共存时 pip安装问题

使用pip当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:py -2 -m pip install XXXX-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip

2017-07-10 11:51:42 318

原创 Python 爬虫学习笔记

网页下载方法:1、2.3.网页解析器  beautifulsoup

2017-07-10 11:05:28 242

原创 Java中的堆和栈的区别

当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程

2017-07-10 10:48:40 245

转载 Struts2和Spring

Struts2和SpringMVC是比较流行的MVC框架,二者的工作流程大体相似,从下面两张图就可以看出。SpringMVC工作流程图 图二  SpringMVC的工作流程描述     1. 用户向服务器发送请求,请求被spring前端控制Servelt DispatcherServlet捕获;      2.DispatcherSe

2017-07-07 11:46:06 235

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除