自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(266)
  • 资源 (192)
  • 收藏
  • 关注

原创 互联网寒冬中来自清华学霸的送温暖

如何通过多轮面试,杀进大厂? ?不是没有技巧,只需一周即可搞定 以下是一位清华学霸的分享: 我们将分享java程序员需要的所有思维导图资料,帮助你将知识结构化、系统化、帮你节省很多时间、帮你梳理面试高频问题,所有jpg、png图片免费,有兴趣的同学可以有偿使用我们的导图源文件,真正的站在巨人的肩膀上,一次付费,永久免费升级和迭代。相比于动辄几十万+的高薪,几十块钱是小,职业...

2019-06-07 16:47:18 1941

原创 薪水

到网上找了几张互联网行业的薪资水平统计表:重点来了——————————————————————————————————————————...

2019-09-14 09:18:15 265

原创 719. Find K-th Smallest Pair Distance

719.Find K-th Smallest Pair Distance解法:二分法+滑动窗口+尺取class Solution { public int smallestDistancePair(int[] nums, int k) { Arrays.sort(nums); int len=nums.length; in...

2019-08-11 20:43:04 282

原创 300. Longest Increasing Subsequence

300.Longest Increasing SubsequenceO(nlgn)解法class Solution { public int lengthOfLIS(int[] nums) { int size=0; int tail[]=new int[nums.length]; for(int i=0;i<nums.l...

2019-08-09 17:28:04 228

原创 32. Longest Valid Parentheses

解法一:暴力:class Solution { public int longestValidParentheses(String s) { int maxlen=0; for(int i=0;i<s.length() && i<s.length()-maxlen;i++){ int cnt1=0,c...

2019-08-07 15:26:03 120

原创 31. Next Permutation

这道题偏重数学分析,尤其是在寻找规律时,首先要分析需要变化数组的哪些位置,然后是对这些变化后再做什么处理。step1 :从右向左找到第一个nums[i]<nums[i+1]的数组的位置;step 2: 从右向左找到第一个大于nums[i]的位置j,nums[j]与nums[i]交换;step 3:读i位置之后的数据做相应变化: 解法一:将i位置之后的数据冲排序...

2019-08-07 13:16:14 131

原创 1106. Parsing A Boolean Expression

思路:自己写一个split类别的函数+DFSclass Solution { public boolean parseBoolExpr(String expression) { if(expression.length()<=0) return false; char ch=expression.charAt(0); ...

2019-08-05 21:26:49 121

原创 面试经典题:手写生产者消费者

使用阻塞队列实现生产者import java.util.concurrent.BlockingQueue;public class Producer implements Runnable{ private final BlockingQueue sharedQueue; public Producer(BlockingQueue sharedQueue){ ...

2019-08-04 14:17:25 207

原创 面试经典题目:多线程循环打印

写法1:lockimport java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class UsingLock { Lock lock=new ReentrantLock(); // 保证每次只有一个线程能够拿到资源 int time; // 控...

2019-08-04 14:13:50 161

原创 148. Sort List 单链表归并排序、快速排序、插入排序、选择排序

归并排序class Solution { public ListNode sortList(ListNode head) { if(head==null || head.next==null) return head; ListNode fast=head,low=head; while(fast.next!=...

2019-06-29 22:23:40 108

原创 Best Time to Buy and Sell Stock 题目集合

121.Best Time to Buy and Sell Stock思路:两个值一个值记录目前最大收益、一个值记录目前的最低买入,从前往后扫一遍,每次更新此前的最大收益,然后更新到此位置的最低买入。class Solution { public int maxProfit(int[] prices) { if(prices.length<=1) ...

2019-06-29 22:23:05 159

原创 单例模式之懒汉模式、饿汉模式、双重校验锁

饿汉模式(线程安全版本)public class Singleton { //在静态初始化器中创建单例实例,这段代码保证了线程安全 private static Singleton uniqueInstance = new Singleton(); //Singleton类只有一个构造方法并且是被private修饰的,所以用户无法通过new方法创建该对象实例 ...

2019-06-27 10:00:50 354

原创 给A、B两个IP段,再给一个C,判断C是否在这个IP范围内

思路:转换成二进制,再转换成整数,再比较大小。import java.math.BigInteger;import java.util.Scanner;/** * Created by wangxi on 2019/6/26. */public class TT { public static void main(String[] args) { Sca...

2019-06-26 15:07:47 500

原创 leetcode 10. Regular Expression Matching & 44. Wildcard Matching

10. Regular Expression Matching思路:动态规划,首先是初始化,考虑s.length()为0时应该对p进行初始化,能初始化的位置是p.(i)=='*' dp[0][i-2]=true;第二步是状态转移方程,很多状态转移方程可分解为几个小问题,一个是分情况讨论,第二个是与前面一个状态或者若干状态的关系。往往这两个小问题是层层递进的,只有分情况讨论清晰了,才知道...

2019-06-25 00:13:18 182

原创 动态规划之编辑距离

编辑距离:可以替换、删除、插入一个字符,dp[i-1][j-1]属于替换,dp[i][j-1]输入i方插入,dp[i-1][j]属于i方删除。class Solution { public int minDistance(String word1, String word2) { int len1=word1.length(),len2=word2.length()...

2019-06-24 09:45:08 145

原创 大数相加&大数相乘

415.Add Strings模拟加法class Solution { public String addStrings(String num1, String num2) { StringBuffer s1=null; StringBuffer s2=null; if(num1.length()>num2.lengt...

2019-06-23 13:46:01 109

原创 链表操作相关的题目

206.Reverse Linked List解法:新建节点class Solution { public ListNode reverseList(ListNode head) { ListNode p=new ListNode(0); p.next=null; while(head!=null){ ...

2019-06-23 12:19:37 130

原创 Jump Game & Jump Game II

Jump Game解法:贪心+状态记录class Solution { public boolean canJump(int[] nums) { int index=0; for(int i=0;i<nums.length-1;i++){ if(index>=i && index<nu...

2019-06-23 10:08:20 197

原创 Search in Rotated Sorted Array & Search in Rotated Sorted Array II & 旋转数组找最小值

Search in Rotated Sorted Array在旋转数组里查找目标值,数字没有重复数字。解法:二分查找分析:如果nums[mid]<target && target<=nums[high],则low=mid+1;如果nums[mid]>target && target>=nums[low]则high=mid-1...

2019-06-23 09:33:37 127

原创 Longest Palindromic Substring

解法一:双指针class Solution { public String longestPalindrome(String s) { if(s.length()<=1) return s; int s1=0,e1=0; for(int i=1;i<s.length();i++){ ...

2019-06-23 02:37:52 113

原创 Longest Substring Without Repeating Characters

解法一:使用双指针+setclass Solution { public int lengthOfLongestSubstring(String s) { Set<Character> set=new HashSet<Character>(); int max=0; for(int i=0,j=0;i<s....

2019-06-23 00:41:20 101

原创 Median of Two Sorted Arrays

思路很简明,在两个有序数组里找到中间那位,如果有两个则求个均值返回。问题分析:常见的是在一个有序数组里找到中位数,在两个有序数字里找到中位数,可以考虑现在其中一个将k分为p+q=k,这样每次可以丢掉很大一部分。那么p和q的取值很有讲究方法一:随机选取class Solution { public double findMedianSortedArrays(int[] ...

2019-06-22 23:59:19 111

原创 Trapping Rain Water & Container With Most Water & Product of Arrary & Trapping Rain Water II 小结

Trapping Rain Water & Container With Most Water & Product of Arrary 的解题在于使用双指针和保存最值Trapping Rain Waterclass Solution { public int trap(int[] height) { int len=height.length;...

2019-06-22 17:18:49 127

原创 3sum & 4sum & 3sum closest小结

这类问题暴力方法就是一层循环套着一层循环,所以 3sum 的时间复杂度就是O(n3),4sum的时间复杂度就是O(n4);那么对于里面的两层循环可以做一个优化,想要做优化前需要对已有的数组排序,然后再使用双指针,所以可以总结两点算法优化的小技巧:排序+双指针3sumclass Solution { public List<List<Integer>> ...

2019-06-22 15:38:05 82

原创 31. Next Permutation

这类题目多数都需要多用些例子找出规律,结合自己的分析和猜测不断去验证自己规律的正确性,如果没有例子,很难看懂别人写的最优解的代码。这道题目的规律是:从后往前扫描,找到不满足num[i-1]>=num[i]的第一个数,然后此位置之前的从后往前扫面第一个大于此数字的数交换位置,第三步是对交换位置的后半部分进行reverse操作。这道题目我自己的解法是交换位置后对后面的数字进行了重新排序,...

2019-06-19 18:08:52 101

原创 常见排序算法实现java

冒泡排序 (稳定)public static void B(int nums[]){ for(int i=nums.length-1;i>0;i--){ for(int j=0;j<i;j++){ if(nums[j]>nums[j+1]){ int temp=n...

2019-06-15 08:37:27 109

原创 找出一个数组中第k大的数

方法一:使用第一个位置的一趟快速排序class Solution { public int findKthLargest(int[] nums, int k) { return Partion(nums,k-1,0,nums.length-1); } int Partion(int nums[],int k,int start,int end){...

2019-06-09 11:57:09 699

原创 LRU的实现

class Node<K,V> { Node pre; Node next; K k; V v; Node(K k,V v){ this.v=v; }}class LRUCache<K,V> { int size; HashMap<K, Node> map = null; ...

2019-06-02 20:37:23 77

原创 b树和b+树的区别

a,B树中同一键值不会出现多次,并且它有可能出现在叶结点,也有可能出现在非叶结点中。而B+树的键一定会出现在叶结点中,并且有可能在非叶结点中也有可能重复出现,以维持B+树的平衡。b,因为B树键位置不定,且在整个树结构中只出现一次,虽然可以节省存储空间,但使得在插入、删除操作复杂度明显增加。B+树相比来说是一种较好的折中。c,B树的查询效率与键在树中的位置有关,最大时间复杂度与B+树相同(在叶结...

2019-04-29 23:21:18 98

208道 java 高频面试题和答案 源于 公众号【菜鸟的名企梦】

一、Java 基础1.JDK 和 JRE 有什么区别?2.== 和 equals 的区别是什么?3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它...

2019-04-13 10:53:26 331

原创 面试题集合-其他(1)

(1)如何避免开发过程中linux和windows下路径拼接不一致的问题https://blog.csdn.net/weixin_39921821/article/details/82344725(2)强软弱虚引用https://www.cnblogs.com/benchao/p/5435598.html(3)tcp一对一,udp多对一https://www.cnblogs.com/...

2019-04-13 10:52:53 111

原创 java基础1

(1)Java提高篇——JVM加载class文件的原理机https://www.cnblogs.com/Qian123/p/5707562.htmlhthttps://blog.csdn.net/javazejian/article/details/73413292(2)什么是类加载器https://www.cnblogs.com/dongguacai/p/5879931.html...

2019-04-13 10:52:28 118

原创 hibernate缓存机制

https://www.cnblogs.com/shanmu/p/3598509.html缺点:hibernate的二级缓存默认不支持分布式缓存的,使用memchae,redis等中央缓存来替代二级缓存。

2019-04-06 16:32:51 113

原创 AOP是什么,用它做什么

AOP:面向切面编程 核心原理:使用动态代理的设计模式,在执行方法前后或出现异常做加入相关逻辑;我们主要使用AOP来做(1)事务处理:执行方法前开启事务,执行方法后关闭事务,出现异常后回滚事务;(2)权限判断:在执行方法前判断是否有权限;(3)日志:在执行前,进行日志处理;.......

2019-04-06 09:58:50 752

原创 数据库优化之分表

分表分为水平(按行)分表和垂直分表(按列)根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉;水平分表能够很大程度减少这些压力。如果一张表中某个字段值非常多(长文本,二进制等),而且只有在很少的情况下会查询,这时候就可以把字段多个单独放到一个表,通过外键关联起来;考试详情,一般我们只关注分数,不关注详情。1,按时间分表这种分表方...

2019-04-05 10:06:08 193

原创 索引使用的小技巧:

索引弊端:1占用磁盘空间2对dml(删除、修改、插入)有影响,会变慢使用场景:(a)肯定在where条件经常使用,如果不做查询就没有意义;(b)该字段的内容不是唯一的几个值(c)字段内容不是频繁变化的...

2019-04-05 09:40:58 128

原创 数据库优化创建合适的索引

索引(index)是帮助DBMS高效获取数据的数据结构。分类:普通索引;唯一索引;主键索引;全文索引普通索引:允许重复值的出现唯一索引:除了不能有重复的纪录外,其他和普通索引一样(用户id,身份证,email,tel)主键索引:是随着设定主键而创建的,也就是把某个列设定为主键的时候就会给该列创建索引,这就是主键索引,唯一且没有null值全文索引:用来对表中的文本域(char,v...

2019-04-05 09:28:20 287

原创 选择合适的数据库引擎

myisam存储引擎:如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎,比如:BBS中的发帖表和回复表。INNODB存储引擎:对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表。Memory存储引擎:我们数据变换频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory,速度极快。...

2019-04-05 00:13:30 326

原创 查找慢查询,定位慢查询

启动mysql数据库时开启慢查询,并且把执行的慢语句写到日志中,在运行一定时间后,通过查看日志找到慢查询语句。

2019-04-04 22:01:34 397

原创 jdbc调用存储过程

加载驱动获取连接设置参数执行释放连接

2019-04-04 15:25:19 188

Improving iForest with Relative Mass.pdf

异常检测 异常检测 异常检测 Improving iForest with Relative Mass.

2019-08-18

Dynamic Density Based Clustering.pdf

Dynamic Density Based Clustering.pdf Dynamic Density Based Clustering.pdf Dynamic Density Based Clustering.pdf

2019-08-18

Clustering by fast search and find of density peaks.pdf

科学杂志:Clustering by fast search and find of density peaks Clustering by fast search and find of density peaks

2019-08-18

求职三次的java面经

java 面经

2019-07-15

基于Spark的孤立森林算法并行化研究_刘高.caj

基于Spark的孤立森林算法并行化研究_刘高 基于Spark的孤立森林算法并行化研究_刘高

2019-07-15

flink-1.5.4-src.tgz

flink-1.5.4-src.tgz

2019-07-07

flink-1.5.1-src.tgz

flink-1.5.1-src.tgz

2019-07-07

flink-1.5.0-src.tgz

flink-1.5.0-src.tgz

2019-07-07

flink-1.3.3-src.tgz

flink-1.3.3-src.tgz

2019-07-07

flink-1.2.0-src.tgz

flink-1.2.0-src.tgz

2019-07-07

flink-1.8.1-bin-scala_2.12.tgz

flink-1.8.1-bin-scala_2.12.tgz

2019-07-07

flink-1.7.2-bin-scala_2.12.tgz

flink-1.7.2-bin-scala_2.12.tgz

2019-07-07

flink-1.8.1-src.tgz

flink-1.8.1-src.tgz

2019-07-07

flink-1.7.2-bin-scala_2.11.tgz

flink-1.7.2-bin-scala_2.11.tgz

2019-07-07

flink-1.6.4-src.tgz

flink-1.6.4-src.tgzflink-1.6.4-src.tgzflink-1.6.4-src.tgz

2019-07-07

domingues-outlier-detection-evaluation.pdf

domingues-outlier-detection-evaluationdomingues-outlier-detection-evaluation

2019-07-07

Distance-based Outlier Detection in Data Streams.pdf

Distance-based Outlier Detection in Data Streams

2019-07-07

flink-1.3.0-bin-hadoop2-scala_2.10.tgz

flink-1.3.0-bin-hadoop2-scala_2.10.tgzflink-1.3.0-bin-hadoop2-scala_2.10.tgz

2019-07-07

Aljoscha-Krettek-The-Future-of-Apache-Flink.pdf

Aljoscha-Krettek-The-Future-of-Apache-Flink

2019-07-07

基于BlinkSQL阿里实时计算平台.pdf

基于BlinkSQL阿里实时计算平台

2019-07-07

用户画像课程最终代码.rar

用户画像课程最终代码.rar

2019-07-07

A Novel Scalable DBSCAN Algorithm with Spark

A Novel Scalable DBSCAN Algorithm with Spark

2019-07-07

DSFS_ICDM2016.pdf

DSFS_ICDM2016

2019-07-07

outlierbook.pdf

做异常检测常用的算法介绍都在这本书里哦,做异常检测常用的算法介绍都在这本书里哦,

2019-07-07

实战-下(资料).zip

目前网上关于flink的资料不多,这是一份不错的学习flink的资料

2019-07-07

2019-VLDB-Fine-Grained

一篇顶级区块链会议文章

2019-06-23

06链码.pptx

区块链源码分析之链码

2019-06-23

05搭建网络 .pptx

区块链fabric搭建网络

2019-06-23

10日志分析.pptx

区块链总结之日志分析

2019-06-23

09参考资料.pptx

fabric 区块链总结参考资料汇总

2019-06-23

08术语总结.pptx

区块链源码解读之术语总结

2019-06-23

07CA.pptx认证机制

区块链源码解读之CA证书机构

2019-06-23

04环境(mac).pptx

区块链源码解读之环境搭建

2019-06-23

03共识.pptx

区块链源码解读之共识算法

2019-06-23

02账本存储 .pptx

fabric 源码阅读之账本存储解读ppt

2019-06-23

01系统架构.pptx

fabric 源码阅读之系统架构解读ppt

2019-06-23

Java面经

一个大神面试的面经,有很多需要注意的点。

2019-04-06

春招&秋招面经

线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)地址空间: 进程内的一个执行单元;进程至少有一个线程; 它们共享进程的地址空间; 而进程有自己独立的地址空间; (2)资源拥有: 进程是资源分配和拥有的单位 , 同一个进程内的线程共享进程的资源 (3)线程是处理器调度的基本单位,但进程不是. 4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。 进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

2018-11-02

c++面试题题目集锦

秋招和暑期实习的c++面试集锦题目,1)指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 2)引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:不能有引用的值不能为NULL) 3)有多级指针,但是没有多级引用,只能有一级引用。 4)指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1) 5)sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小。 6)引用访问一个变量是直接访问,而指针访问一个变量是间接访问。 7)使用指针前最好做类型检查,防止野指针的出现; 8)引用底层是通过指针实现的; 9)作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;传引用的实质是传地址,传递的是变量的地址。

2018-11-02

操作系统复习资料

计算机系统管理中心(相当于社会中的 政府地位); 最复杂最精确的人工开发的管理系统; 在计算机系统中不可缺少,少了操作系统,用户不可能上机使用计算机资源。

2018-11-02

空空如也

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

TA关注的人

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