自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长弓smile的博客

大家好,请多指教

  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 LEETCODE593:有效的正方形

问题描述: 给定二维空间中四点的坐标,返回四点是否可以构造一个正方形。一个点的坐标(x,y)由一个有两个整数的整数数组表示。 示例: 输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1] 输出: True注意: 所有输入整数都在 [-10000,10000] 范围内。 一个有效的正方形有四个等长的正长和四个等角(9...

2018-04-29 22:40:03 709

原创 软件操作界面超过屏幕显示的解决方案

由于电脑在实验室的时候连了外接显示器,后来单独使用电脑的时候,发现一个奇怪的现象,就是我的部分软件在桌面上找不到,重启好几次也找不到,但是WIN+TAB能看到该软件,于是在网上找了各种方法。今天发现某个软件又这样了,并且在桌面的边缘发现了它,但是是该软件的边缘,很小一点,无法对它进行移动。 解决方案:修改显示分辨率。 步骤:win10系统-桌面右键-显示设置-分辨率-先随便选择一个其他的分辨率...

2018-04-29 22:27:28 17141 2

原创 SQL Server VS Oracle VS MySQL

1.最直观的区别:从经济上来说,SQL Server 和Oracle 是收费的(商用),MySQL是开源的(轻量级数据库)。 2.简单说说使用上的区别: 1)Oracle和MySQL是跨平台的,SQL Server 只能在Windows平台上使用。 2) Oracle支持decode函数,另外两个不支持。decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)...

2018-04-25 21:58:37 254

原创 Oracle 中 decode 函数用法

DECODE函数是ORACLE PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数。 语法: DECODE(value, if1, then1, if2,then2, if3,then3, … else ) =>DECODE(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) Value 代表某个表的任何类型的任意列或一个通过计算所得的任何...

2018-04-25 21:33:31 264

原创 面向对象的六大原则

Java中面向对象编程包括六大原则:单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则、接口隔离原则、迪米特原则。单一职责原则英文全称 Single Responsibility Principle,简称SRP 定义: There should never be more than one reason for a class to change. 就一个类而言,应该仅有一个引起...

2018-04-25 20:29:36 140

原创 volatile关键字

1.Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量时共享的,因此,不会把该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile变量时总是返回最新写入的值。 volatile本质是在告诉jvm当前...

2018-04-25 19:47:20 95

原创 线程安全性

定义: 当多个线程访问某个类时,这个类始终能表现出正确的行为,那么就称这个类是线程安全的。(所谓正确,指的是we know it when we see it(所见即所知))无状态对象一定是线程安全的。竞态条件:在并发编程中,由于不恰当的执行时序而出现不正确的结果是一种非常重要的情况,即竞态条件。 最常见的竞态条件类型: “先检查后分析Check-Then-Act”,本质为基于一种可...

2018-04-23 21:42:44 119

原创 PageRank

对于一个特定的查询,搜索结果的排名取决于两组信息:关于网页的质量信息以及这个查询与每个网页的相关性信息。 PageRank的核心思想: 在互联网上,如果一个网页被很多其他网页所链接,那么说明它收到普遍的承认和信赖,那么它的排名就高。决定搜索质量最有用的信息是用户的点击数量。 PageRank的计算方法: 假定向量 为第一、第二、…第N个网页的网页排名,矩阵 为网页之间的链接数目...

2018-04-23 20:21:44 259

原创 查找单链表的中间节点

这是今天面试测开面试官提到的一个问题,当时有点紧张,代码写的不整洁,回来整理了一下。个人有点强迫症,纸上的代码一定想用机器跑起来。特整理如下: 问题描述:查找单链表的中间节点。 我的思路:快慢指针。“` class Node { int val ; Node next; public Node(int val) { // TODO Auto...

2018-04-20 21:21:51 251

原创 final关键字

final 通常用来修饰属性、方法和类。 1.final属性 被final修饰的变量不可变: a)一个用不改变的编译时常量 b)在运行时被初始化的值,不能更改。 修饰基本类型时:定义的是常量,在定义时必须对其赋值,然后不可更改。 修饰引用类型时,指的是引用不变性,即一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象,但是对象自身是可以被修改的。 例如:final i...

2018-04-19 16:14:00 80

原创 静态变量和实例变量

在Java类中提供了两种类型的变量:用static修饰的静态变量和不用static修饰的实例变量。二者的区别如下: a)静态变量是属于类的,调用方式为类名.变量名,在类加载时分配内存空间。 实例变量是属于对象的,使用方式为对象名.变量名,只有对象被创建后,实例变量才会被分配空间。 b)静态变量只有一个,被类拥有,所有对象共享这个变量,而实例变量时与具体对象相关的。 c)补...

2018-04-19 15:51:27 164

原创 为什么需要public static void main(String[] agrs)这个方法

面试招行信用卡中心时问到这个问题,我可能回答得不全面,参考面试宝典在此整理一下:1.该方法是Java程序的入口方法,程序运行时,JVM首先会查找main()方法。其中,public是权限修饰符,static表明mian()方法是一个静态方法,即方法中的代码是存储在静态存储区的,这个类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过类名.main()直接访问,JVM在启动时就...

2018-04-19 15:44:02 2959 2

原创 Java异常处理机制

Java提供两种错误的异常类,分别为Exception和Error,它们继承自Throwable。如图所示: a)Exception 表示程序可检查的异常,是编译器可以捕捉到的,主要包括RuntimeException和Checked Exception。 RuntimeException运行时异常:编译器不会强制对其进行捕获并处理,这种异常通常由JVM来处理,常见的运行时异常包括N...

2018-04-19 10:19:26 117

原创 TF-IDF的基本概念

单文本词频 (Term Frequency,TF) 即:关键字的次数/网页的总字数 如:一个网页上有1000个词,其中“原子能”、“的”和“应用”分别出现了2次,35次和5次,那么它们的词频分别是0.002,0.035,0.005。将这几个数相加,就是“原子能的应用”的“单文本词频”。 度量网页和查询的相关性的一个简单方法就是直接使用各个关键词在网页中出现的总词频。具体来讲,如果一个查询包...

2018-04-18 15:41:31 277

原创 组合总和II

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [2,3,6,7], target = 7, ...

2018-04-16 21:15:54 244

原创 判断链表是否有环,有环则找到入口

设置两个指针p1,p2,p1每次走1步,p2每次走2步。 当p2能与p1相遇,表明存在环。 设p1走了S步,则p2走了2S步,又因为p2比p1多走了环的长度,即环的长度为L = S。 设置头节点到入口距离为x,入口距离相遇位置为y。 则S = x+y; 而p2到入口距离为L - y ,即p2距离入口为x。 因此将p1移动到头节点,然后p1每次走一步,p2每次走1步,那么二者相遇时均走了...

2018-04-14 20:37:23 185

原创 组合

与全排列实现方式有异曲同工之处。 代码如下:import java.util.ArrayList;import java.util.List;public class 组合 { /** * @param args */ public static void main(String[] args) { // TODO Auto-ge...

2018-04-14 19:48:16 133

原创 全排列

全排列:【1,2,3】 输出: 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 实现思路: 利用递归回溯法,为每个数字设置标识位,表明已使用或未使用。下面为代码实现:import java.util.ArrayList;import java.util.List;public class Permute{ /** * ...

2018-04-14 17:23:20 116

原创 Java堆结构PriorityQueue

在Java1.5中引入了PriorityQueue(优先队列),PriorityQueue默认实现了最小堆,也可以传入Comparetor来实现最大堆。 实验代码如下:import java.util.Comparator;import java.util.PriorityQueue;public class PriorityQueueDemo { /** * @p...

2018-04-13 19:29:08 234

原创 快乐数

问题描述: 写一个算法来判断一个数是不是“快乐数”。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 案例: 19 是一个快乐数。 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 1...

2018-04-13 15:49:37 277

原创 有效的括号字符串

问题描述 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: -任何左括号 ( 必须有相应的右括号 )。 -任何右括号 ) 必须有相应的左括号 ( 。 -左括号 ( 必须在对应的右括号之前 )。 -*可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。 -一个空字符串也被视为有效字符串。 例 1: ...

2018-04-13 15:36:26 317

原创 单例模式的几种实现

1.饿汉模式 – 线程安全,调用效率高 在类被加载时初始化instance,调用私有的构造函数,创建单例类的唯一实例。(不能延时加载) (构造函数是私有的,因此该类不能被继承)/* * 饿汉模式 */public class EagerSingleton { private static final EagerSingleton instance = new EagerS...

2018-04-13 14:42:04 138

原创 只出现一次的数II

给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次。求出那个只出现一次的数。 解体思路: 整型数占32位,可以记下所有数每一位的总数,然后每一位对3取余,剩下的就是那个只出现了一次的数。class Solution { public int singleNumber(int[] nums) { if (nums.length == 1) ...

2018-04-12 20:33:41 114

原创 只出现一次的数

给定一个整数数组 nums,其中恰好有两个元素只出现一次,其他所有元素均出现两次。 找出只出现一次的那两个元素。 示例: 给定 nums = [1, 2, 1, 3, 2, 5], 返回 [3, 5]. 注意: 结果的顺序并不重要,对于上面的例子 [5, 3] 也是正确答案。 你的算法应该具有线性复杂度,你能否仅使用恒定的空间复杂度来实现它? 解题思路: 1.异或运算 因为a^a =...

2018-04-12 19:41:20 184

原创 分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。 ...

2018-04-12 18:44:33 1072

原创 求根叶数字总和

问题描述: 给定一个只包含 0-9 数字的二叉树,每个根到叶的路径可以代表一个数字。 例如,从根到叶路径 1->2->3则代表数字 123。 查找所有根到叶数字的总和。 例如, 1 / \ 2 3 根到叶子路径 1->2 表示数字 12。 根到叶子路径 1->3 表示数字 13。 返回总和 = 12 + 13 = ...

2018-04-12 17:12:42 379

原创 R语言爬取豆瓣图书Top250

新手爬虫,使用R中最简单的读取网页,然后获取所需内容所在行进行解析。下面介绍爬取豆瓣图书Top250的案例。 1.首先,我们知道网页规律为:“http://book.douban.com/top250?start=”+index,index为25的倍数,从0开始,表示该页面是从index开始的25条图书数据。 获取网页信息代码如下:for(i in 1:9){ url1<-p...

2018-04-12 15:35:05 4140 5

原创 第一个R语言爬虫

参考博客https://blog.csdn.net/wzgl__wh/article/details/72804687# 写了我的第一个爬虫 第一步: 安装必要的程序包及其相关依赖程序包。 用到的程序包主要有三个: 1. rvest 用于爬虫 2. jiebaR 用于分词,统计词频 3. wordcloud2 用于对文本进行可视化 王亨的博客爬取的是政府工作报告(2017...

2018-04-10 16:58:31 2122

原创 R语言安装程序包

有两种方式: 1.在线安装 命令:install.packages("待安装的程序包名")2.离线安装 在实际过程中,我采用在线安装容易失败,因此,可以现在官网下载对应的程序包,然后离线安装。官网地址为:https://cran.r-project.org/ 安装完成后,可以使用library(安装的程序包名)命令检查是否安装成功,可能回失败,需要安装依赖关系的包。首先选择pa...

2018-04-10 15:35:32 15367

原创 获取1~n全排列从小到大排列的第k个值

问题描述: 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记, 可得到如下序列 (例如, n = 3): “123” “132” “213” “231” “312” “321” 给定 n 和 k,返回第 k 个排列序列。 注意:n 介于1到9之间(包括9)。 ...

2018-04-08 21:53:53 2345

原创 一个数组中,只有一个数字仅出现一次,其他数字均出现两次,找出这个数字

要求:不借助任何空间 我们知道:a^0 = a,a^a = 0,因此这里可以借助异或运算可以实现。 具体实现如下:public class SingleNum { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated ...

2018-04-08 19:20:22 6289

原创 链表逆序

不借助栈、数组等额外的空间实现链表的逆序(手动在草稿纸上绘制一下过程,很容易理解)class MyList{ int val; MyList next; public MyList(int val) { // TODO Auto-generated constructor stub this.val = val; thi...

2018-04-08 09:53:20 149

原创 希尔排序

之前一直只了解希尔排序的过程,没具体写过代码,今天补上。 基本思路: 1.选定步长gap,比较元素a[i]和a[i+gap]的大小,并调整顺序,逐步调整gap值,直到gap值为1 2.我一般采用初始gap为length/2,,然后逐步递减public class ShellSort { private static int N = 15; static Random r...

2018-04-07 22:31:41 123

原创 在字符串text中查找子串pattern(KMP算法)

/** * @author zfr * @date 2018-4-7 * kmp算法完成的任务是:给定两个字符串text和pattern, * 长度分别为n和m,判断pattern是否在text中出现,如果出现则返回出现的位置。 * 否则返回-1 * 常规方法是遍历text的每一个位置,然后从该位置开始和pattern进行匹配,但是这种方法的复杂度是O(n*m)。 * kmp算法通过...

2018-04-07 12:38:09 2516

原创 阶乘N!的末尾有多少个0

思路:5*2=10,即每个5与2都能产生一个0,而在阶乘中,偶数很多,即2比5多 1-N中有N/5个数,每个数能贡献一个5,1-N有N/5^2个数,每个数又能贡献一个5等等import java.util.Scanner;public class 阶乘中0的个数 { /** * @param args */ public static void ma...

2018-04-05 23:08:54 497

原创 AVL树、B树、B+树(1-基本概念)

AVL树(平衡二叉树) 定义: (1) 左子树与右子树的高度差只能是-1,0,1。 (2) 树中的每个左子树和右子树都是AVL树B树(多路平衡查找树): B树中所有结点的孩子结点数的最大值称为B树的阶,通常用m表示。一棵m阶B树或者空树,或为满足如下特征的m叉树: (1) 树中每个结点至多有m棵子树(即至多含有m-1个关键字) (2) 若根结点不是终端结点,则至少有两棵子树 (3...

2018-04-04 11:33:33 2489

原创 BST树、红黑树(1-基本概念)

BST树、红黑树 BST树(二叉排序树,二叉搜索树) 定义: (1) 若左子树非空,那么左子树上所有节点关键字均小于根节点的关键字值 (2) 若右子树非空,则右子树上的所有节点关键字均大于根节点的关键字值 (3) 左、右子树本身也是一颗二叉排序树 红黑树: 红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储为来表示结点的颜色,可以是红色或者黑色。通过对任何一条从根到叶子结点的简...

2018-04-04 11:28:29 772

原创 数据库索引

索引的创建: CREATE INDEX 索引名称 ON 表名称 (列名称)索引的优点: 可以加快数据库的检索速度 创建唯一性所以呢,保证数据库表中的每一行数据的唯一性 加快数据库表之间的连接,特别是在实现数据库的参考完整性方面有特别的意义 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间 通过使用索引,可以在查询中使用优化隐藏器,提高系统的性能索引的缺点:...

2018-04-03 21:38:39 104

原创 多个文本中找到出现频率最高的100个单词

解决思路: 1.使用newFixedThreadPool构建大小为5的线程池。让线程分别读取不同的文件。 2.使用ConcurrentHashMap对象hashmap作为共享变量,用于存放每个单词出现的频率。 3.采用最小堆在hashmap中找到频率最高的100个数据单词,并打印。解题步骤: 1、构建Words类,该类定义了单词的拼写和数量。class Words implem...

2018-04-03 20:33:05 6180 1

原创 双亲委派模型

双亲委派模型(Since JDK.2): 从虚拟机的角度来看,类加载器主要分为启动类加载器(Bootstrap Classloader)和所有其他的类加载器。 从开发人员的角度来说,类加载器主要分为3类。 1. 启动类加载器(Bootstrap Classloader) 功能:负责将存放在JAVA_HOME \ lib目录中的,或者被-XbootClasspath参数所指定的路径...

2018-04-03 20:01:35 162

java中使用JSON的jar包

最近需要使用JSON的jar包,在网上找到了源码,将它打了个包. 使用方式,将其添加到项目中,在代码中使用import org.json.*;

2018-04-27

API文档Ajax+jQuery+正则表达式+SQL+JDK1.7

这是我这几年收集的一些API文档,很有很有帮助的,希望能帮助到大家

2018-04-26

获取豆瓣图书Top250的R语言实现

获取豆瓣图书Top250的R语言实现,这是一个简单的实现,大家可以参考参考。

2018-04-26

空空如也

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

TA关注的人

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