自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

启示录

Github: https://github.com/Royean

  • 博客(15)
  • 收藏
  • 关注

原创 拿硬币——动态规划

拿硬币 Question: 有10个硬币,我和你按顺序拿,每次可以拿1、2或者4个,拿到最后一个硬币的人输,你怎么确保自己可以获胜(这个问题的有一个前提:双方都想赢,并且当遇到能赢的情况时,他们能做出正确的决策而不是随便决策) 这种问题,可以从简单情况先想起,:没有硬币剩下,则默认该轮次的人胜利。剩下一个硬币时,先手拿硬币的人输,后手赢;剩下两个硬币时,先手的人一下子...

2018-08-31 16:04:54 2135

原创 递归实现单链表的反转

递归实现单链表的反转链表反转之前用迭代实现了链表反转,受同学启发,也可以用递归方式实现,如下。 对于链表结构,还是采用单链表的反转里面的结构。注意: 由于递归的操作是规模缩小,操作重复的,所以递归时直接从第一个数据结点开始(不是从空的头结点开始),虽然可以每次回溯时都让。 代码如下: public void reverse2(Node data...

2018-08-30 21:06:02 5574

原创 单链表的反转

单链表的反转单链表概念引入 有一个空的head节点作为头节点,头节点的存在主要是为了操作的统一性而设立的(删除增添节点等操作能够统一,不需要特殊考虑单独情况),当然它不是必须的,它的数据域毫无意义。我们的目标:实现单链表的反转 1.如果考虑不破化原有链表,实现单链表翻转。这个实现比较简单,主要考虑在复杂度上,如果每次都取最后一个元素再插入新的链表,那么每次都要从头开...

2018-08-29 19:38:58 604

原创 Java的异常处理机制

Java的异常处理机制简介           Java的异常结构图 从图中观察可得:所有的异常类是从java.lang.Exception的继承子类。Exception类是Throwable的子类。Error也是它子类之一,异常可能在如下几种情景下发生:用户输入数据不合法。找不到要打开的文件网络在传输中断开程序问题分类标准:检查型异常 ...

2018-08-27 23:55:19 354

原创 2SUM、3SUM、KSUM

2SUM、3SUM、KSUM2SUM:Question: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。Example:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, ...

2018-08-25 21:03:22 841

原创 String、StringBuffer、StringBuilder

String、StringBuffer、StringBuilder 比较先对三者的速度做一下比较: 1.String: 结果: 2.StringBuffer: 结果: 3.StringBuilder: 结果: 三者的速度: StringBuilder > StringBuffer > String不以速度论成败存在即是...

2018-08-24 17:39:10 141

原创 面向对象——多态与向上、向下转型机制

前言开头先回忆一下,面向对象的三大特征:封装(数据抽象)、继承、多态。为什么多态排在最后一位,因为它是以前面两个为前提的,尤其是继承。多态概念梳理多态本质在于 同一种行为的多样化表达 (这句话不禁让我想起了基因的多样性表达,这是现实世界物种多态的原因)。对于某一种行为而言,它的多样性体现在两种可能: 1. 行为主体相同,行为受体不同——同样是待客,为什么他对别人温柔对你凶?...

2018-08-24 12:34:43 383

原创 类的初始化顺序详解

前言先声明一个常识,类域和局部变量初始化的差异如下, 局部变量不初始化会报错: 类中属性(也称域)不赋初值,默认为0,如果是引用默认为空。 正题一、类中属性按照定义的顺序初始化我们声明一个Child类,拥有两个构造方法: 我们在Main类中创建Child的两个对象: 输出结果: 结论:就算类中属性散乱定义在不同地方,初始化也会严格按照先后顺序执行...

2018-08-23 13:14:15 2925 2

原创 通过接口抽象类“创建”对象

前言首先声明,用接口或者抽象类实例化一个对象是不可能的,错误的。接口、抽象类实现注意点Interface 属性默认都是 public static final方法默认都是 public abstract 都不用显示声明抽象类 至少含有一个方法是abstract修饰的现在,我们动手解释下为什么用接口或者抽象类实例化对象是错误的,以及该如何重新理解这句话。...

2018-08-21 21:36:24 3504 2

原创 位图法与N个数中找最大10个数

前言今日,听得同学间讨论两个问题,觉得甚是有趣,一个是找到n个数找最大10个数,另一个是位映射的问题。一、N个数找最大10个数引入: 给定n个数据,比如10万,又或着100万,让你找到最大前10个数,怎么找呢? 我心中不免一惊,真的是很巧,之前我在做数字手写识别时就考虑过这个问题,knn算法有涉及从n个邻居中找到k个最近的邻居,二者问题本质是一样的。 听到有人不假思索,直...

2018-08-20 18:35:13 757

原创 关于访问修饰符——区别与联系

继承最近想总结下知识点,就从小的开始吧。关于类的访问修饰符类前面的修饰符有两种情况,一个是public,还有一个是默认修饰符(即不带任何修饰符)public:公开一个项目的所有包都可以访问到这个类;默认修饰符:只有当前包可以访问到这个类;如图所示,存在如下包结构: 我们将Child类访问修饰符设为默认,Parent设为public: 我们尝试从...

2018-08-20 15:36:30 670

原创 管理你的代码——Git学习(一)

前言本文建议顺序阅读,工具教程本就是逐渐深入的过程,大家切莫着急,须得知欲速不达,夯实基础,方能静水流深。为什么使用Git?  我们在编辑文本或者写代码时总会遇到这种情况:当下这段话不满意,这个代码不完美,我不满意,我想回到我之前的某个版本,我该怎么做?这是Git最直接的作用,它也包含了其他一些优秀的功能,使得协同开发变得更加简单,我们把它称之为版本控制工具。   版本控制工...

2018-08-19 00:08:29 881

原创 基于比较的内排序——温故而知新

引言排序和检索是数据数据的两个关键部分,排序是想尽快有序组织数据,检索则是想尽快查找数据。排序分类 排序算法在实现方法上被分为两个大类,我们今天讲的是基于比较的排序算法,非比较算法我们稍后再谈。几大排序概览##性能概览 名称 时间复杂度 空间复杂度 稳定性 选择排序 O(n2n2n^2) O(1) 不稳定 冒泡排...

2018-08-12 11:07:28 360

原创 数字手写识别——Java实现KNN算法

引言手写识别也是当前机器学习的一大热点,数字手写识别是手写识别中的基础,我们用到的是knn算法,今天给大家讲一下我的实现方法;环境IDE:Eclipse 语言:Java项目:数字手写识别思路数据采集:我们知道,一张图片可以被看作一个个点组成的矩阵,对于手写数字,我们只要创建一个全0数组当作背景,手写完毕把数字所占区域置为1,就可以保存当作一个样本了,如下图所示...

2018-08-10 12:58:22 2786

原创 鸢尾花分类——Python机器学习起步

引言一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习。环境Sublimetext 3 和 Jupter Notebook; 使用库:scikit-learn项目:鸢尾花分类已知,鸢尾花可以被分为setosa、versicolor、virginica三个品种,现在我们要建立一个模型,输入特定数据判定它是...

2018-08-08 10:59:03 7482

空空如也

空空如也

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

TA关注的人

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