- 博客(9)
- 资源 (15)
- 收藏
- 关注
原创 eclipse 读取 csv文件
要做一个手写数字识别的作业, 本来想用张磊的稀疏编码做, 后来查阅了一些资料, 好像大多数人对手写数字这一块也没使用太复杂的算法, 而目前有的稀疏编码源码要是改写成java 或者C确实是一个浩大的工程. 所以决定先用bayes做一个,看看效果. 训练集是csv格式, 第一次用eclipse接收这种格式的数据,记录一下模板方法. import java.io.Buf
2014-04-17 15:40:41 5610
原创 用户限量购买逻辑的实现
这是阿里研发笔试的一道附加题,当时写的并不好,后来做了一个更好的实现方案。题目大概要求是, 现有gift 99个, 用来回馈淘宝用户, 每个用户可以用30个积分来兑换,且每个用户只能兑换一次。 实现这个Order逻辑。 新的想法是做一个 class order, 其中包含静态变量gift 和 makeorder 方法, 当然makeorder方法一定要是同步的。 套用生产者/
2014-04-13 13:14:28 2350
原创 当同步方法被锁住时,非同步方法是否可以访问同步方法中改变的变量?
考虑如下情景: 一个class 中有一个成员变量b。 成员方法m1()为同步方法, 并且对b进行操作。 成员方法m2()不是同步方法,并且访问b。 那么如果在m1() 锁住b时 , m2()能够执行吗? 如果能 , 得到的b是修改前的还是修改后的呢? 如果m2()也是同步方法呢? 将上诉问题代码化如下, 当m2()不是同步方法时:package
2014-04-07 17:06:35 2246
原创 线程死锁
创造一个线程死锁事件。 稍微想一下应该很简单, 只需在执行一个同步方法1时, 里面需要执行另一个同步方法2, 而另一个线程恰好需要先执行2再执行1 ,两个就锁住了。 需要注意的是: 这两个同步方法需要嵌套关系,而不是并列关系。 因为后者在完成第一个同步方法时,第一个方法的锁就打开了,达不到循环等待的效果。 另外在接口里使用flag 变量来控制线程先执行哪个同步方法, 因为两
2014-04-07 16:23:31 1164
原创 后缀数组的构造sa,rank和height数组
智商余额又不足了, 看着后缀树的代码看了一整天还是一知半解,看来暂时只能套模板了。 后缀数组sa[] 保存了一个字符串的所有后缀, 并且按字典序排序。 sa[i] =k 的意思就是 排在第2i个的后缀, 在原串里是以k开头的后缀。 rank[]数组是sa数组的逆运算, rank[k]=i的意思是从位置k开始的后缀在后缀数组中排第i位。height数组保存了 后缀数组中相邻两个后缀的最大
2014-04-06 20:34:42 3702
原创 线程合并join方法和出让CPUyield方法
1 关于join方法的意义,很多地方的表述为线程合并, 根据我的理解, 也可以解释为一个线程等待另一个线程执行结束后再继续执行. 例如在这个主线程中,我有一个名为MyThread的线程类的mythread实例, 我在主线程的某个阶段需要等待mythread执行结束再执行(可能需要利用mythread)的执行结果,那么就需要在主线程需要等待的地方加入mythread.join
2014-04-04 14:49:51 1345
原创 线程中断之interrupt和stop方法
从阿里的笔试和网易游戏的电面中暴露了关于线程并发方面基础知识掌握的不到位, 现在从头再来学习一遍。 首先我们想中断一个线程,可以使用interrupt和stop两种方式。 首先说interrupt, 它没有stop那么的粗暴,因为可以用catch捕捉到InterruptedException这个异常package thread;import java.util.Date;
2014-04-03 20:49:58 4423
原创 谷歌笔试题:如何随机选取1000个关键字
给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?首先对于先出现的1000个关键字,肯定都是妥妥的放到数组里, 当n>1000时, 我们要保证第n个关键字被取到的概率是1000/n的机会随机跟前面1000个替换一个 即可以达到随机抽取.证明:对于第n个关键字, 以1000/n概率
2014-04-01 16:52:21 2095
原创 已知前序遍历和中序遍历,求后序遍历的程序实现
已知两种遍历,求第三种遍历是数据结构的常考题, 现在用编程的方式来实现: 已知前序遍历和中序遍历, 求后序遍历. 虽然这个问题我们用手画画就得出答案了,而编程的话反而不知道如何下手. 实际上,我们都会直观地知道关于遍历的问题肯定使用堆栈或者递归的方式完成. 而递归则更好理解. 后续遍历为 左子树-右子树-根. 而中序遍历中, 每个节点的左右子树都分列两端. 所以我们可
2014-04-01 13:17:20 2866
UC浏览器插件开发指引
2014-08-19
Cygwin-step-x86_64
2013-12-29
Python 2.7
2013-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人