java
sxiaobei
专注于互联网,大数据,分布式存储领域 邮箱13572258026@163.com
展开
-
动态规划解决整数划分的问题
前几天去华为做机试,遇到一个整数划分的问题,题目是:现有1,2,5,10,20,50,100 元这几种钱币,问给定n元能有多少种分配方式。例如n=4时,有1+1+1+1 ,1+2+1 , 2+2 三种划分。我解决这道题是从网上看的方法,用的递归,但是悲剧的是测试用例运行超时,结果题没做出来,我直觉上觉得用动态划分可以解决,所以就研究了动态划分的解法。首先,先找出划分,每种组合以最大面值等原创 2015-07-08 01:00:34 · 3215 阅读 · 0 评论 -
websocket+webrtc+tomcat 实现视频监考功能
client <!-- --> function onOpen(event) { document.getElementById('messages').innerHTML = 'Connection established'; } function onError(event) {原创 2015-08-26 01:03:09 · 5664 阅读 · 4 评论 -
TCP连接的TIME-WAIT状态
TIME-WAIT状态是TCP的11个状态其中之一,是发生在正常关闭TCP连接的时候发生的。如下图所示:在这幅图中我们可以明显看出,流程是这样的,显示主动发送一个FIN报文,然后接收到一个ACK报文,这样这一方的连接已经关闭,也就是不能再发送数据了,进入FIN_WAIT2状态,这个状态就是为了等待,被动关闭连接的一方,发送fin报文,在这期间可以接收来自对方的数据,等到被动关闭这一原创 2015-07-20 13:27:35 · 1283 阅读 · 0 评论 -
动态代理工具类
我刚刚想着每次写动态代理的时候都会写很多的代码,有点不值得,所以我写了一个实现动态代理的工具类,用户可以用JDK动态代理也可以使用CGLIB动态代理,我的ProxyUtils中提供了三种开发动态代理的方式,在实际用的过程中,可以继承Intercepter这个抽象类实现在逻辑代码前后添加控制代码,如果控制代码返回true那么证明可以通过,如果控制代码返回false说明验证不通过,如果不通过那么就返回原创 2015-07-21 02:02:08 · 845 阅读 · 0 评论 -
java NIO原理和应用
之前做的一个项目,先开始用的是BIO(即阻塞式IO),然后因为一些性能问题,然后用NIO(即非阻塞式IO)替换了BIO。我们先说说BIO有什么缺点为什么要使用NIO:以java中TCP为例来讲解:我们知道,在客户端java调用connect方法会阻塞,调用read的时候也会阻塞也就是读不到就一直阻塞在那里,而服务器端呢,调用accept()方法会阻塞,调用read方法也会阻塞这样的话,原创 2015-07-22 18:09:20 · 2006 阅读 · 1 评论 -
求一个数组的最大k个数(java)
问题描述:求一个数组的最大k个数,如,{1,5,8,9,11,2,3}的最大三个数应该是,8,9,11问题分析: 1.解法一:最直观的做法是将数组从大到小排序,然后选出其中最大的K个数,但是这样的解法,复杂度是O(logn*n),但是有时候并不需要排序,用简单的选择排序,或者是冒泡排序,那么就K轮的交换或者是选择,就可以得出结论,复杂度是O(n*k),当K很大的时候排序可能是更好的解原创 2015-08-18 16:57:32 · 4988 阅读 · 0 评论 -
母函数法解决整数划分
问题描述:把一个整数n划分成1到n的划分,例如3可以划分为1+1+1,1+2,3这三种划分,那么求n的划分数。解题思路: 可以把1,设为x的0次方:x^0 把1,设为x的1次方:x^1 .......把n,设为是x的n次方:x^n 那么1可能出现,0,1,2,3,4,5,6...n次,而2可能出现0,1,2,3,.......n/2次,3可能出现原创 2015-08-23 00:22:00 · 2626 阅读 · 0 评论 -
React+Reflux 实现组件间通信
写这篇文章,不是把官方的例子或者github的例子给大家敲一遍,而是想把自己学习遇到的问题,重点突出,让大家少走弯路。同时也方便自己日后温习使用。原创 2016-11-13 11:35:50 · 3043 阅读 · 0 评论 -
jdk动态代理(动态生成字节码与反射机制的结合)
jdk动态代理原创 2015-07-17 00:43:13 · 5791 阅读 · 2 评论 -
悲观锁和乐观锁
前几天有人问了我一个问题,说如果数据库某些操作不用事务,那么又需要保持数据的一致性,那么该用什么方法替代事务。我就想到了悲观锁和乐观锁的思想,下面我解释一下在数据库中的悲观锁和乐观锁 1.悲观锁就是把数据库的一些操作,放在事务当中,依赖数据库的隔离级别,实现对数据修改的封锁,这样做数据一致性可以保持的很好,但是效率比较低下,悲观锁从程序的角度上将,就是不在应用程序中做任何保证数据原创 2015-08-24 02:27:49 · 1237 阅读 · 0 评论 -
字符串的全排列(java)
差不多半个月没写博客了,今天再写一篇。 字符串全排列相信大家都不陌生,对于我来说真的是写了又忘,忘了又写,所以决定写成一篇博客,废话不多说下面我来分析问题:问题描述:给定一个字符串写出它的全排列,例如ab,全排列是ab,ba,而abc的全排列abc,acb,bac,bca,cab,cba。解题思路:我们以具体例子分析,假如abc,如上所示,它的全排列是不是就是把字符串中每一原创 2015-08-09 15:25:41 · 3257 阅读 · 0 评论 -
最大工作量问题
关于最大工作量的问题,暴力解决原创 2015-07-08 00:44:18 · 1605 阅读 · 0 评论 -
二维数组最大面积的问题(动态规划)
求矩阵最大方阵面积原创 2015-07-10 17:42:06 · 5964 阅读 · 0 评论 -
整数的二进制表示中有多少个1的问题
二进制的问题原创 2015-07-11 01:15:27 · 903 阅读 · 0 评论 -
二叉树两个节点的最低公共最先问题
链表,二叉树原创 2015-07-12 21:18:10 · 668 阅读 · 0 评论 -
关于一个数组中两个数的和等于给定数的问题
今天我遇到这样一个问题,问题描述如下: 给出一个数组,再给定一个数target,如果数组中有两个数的和等于target,那么返回这两个数的索引,如果说有多对数都符合条件则返回第一对,返回的结果用一个长度为2的数组保存,并且返回的数组按升序排列: 如:[2,7,11,15] target=9,那么返回[1,2],这只是一个最普遍的例子,因为数组中可以有重复的数,原创 2015-07-14 21:30:20 · 5274 阅读 · 1 评论 -
求字符串内不包含重复字符的最长子串
今天我遇到一个问题,题目描述如下: 一个字符串,求这个字符串中不包含重复字符的最长子串的长度,如abba返回2,aaaaabc返回3,bbbbbbb返回1,等等上面是测试用例。那么我解决这个问题的思路有两种:第一种是,设一个头指针和一个尾指针,头指针指向,不包含重复字符子串的第一个字符,尾指针指向不包含重复子串的最后一个字符,用一个hashset保存已经出现过的字符,例如ab原创 2015-07-13 22:34:24 · 6703 阅读 · 1 评论 -
最大工作量问题新的解法(不会证明)
最大工作量问题原创 2015-07-08 15:51:24 · 1407 阅读 · 0 评论 -
java与c++内存泄露的问题
java中内存泄露的隐蔽性原创 2015-07-15 21:35:26 · 1436 阅读 · 0 评论