- 博客(23)
- 收藏
- 关注
原创 Interrupt和AQS的一些理解
interrupt需要interrupt来打断的线程是阻塞或者sleep的线程,这样的线程被打断后会抛出异常,而那些正常的正在执行中的线程,通过interrupt打断不了,也不抛出异常,怎么停止呢?通过加一个isinterrupted判定即可AQScountDownLatch、 cyclicbarrier、semaphore这些都是方便线程一起工作的...
2019-07-23 16:44:32
487
原创 212. Word Search 字典树
字典树数据结构优点删除重复字符串前缀有val值存储建字典树的过程容易出错,记得判断有无存在next[i],如果存在,就不用新建。
2019-07-05 12:12:56
133
原创 快速排序的容易出错的地方
错误代码:time limit原因:第三个while应该带上等于while(l<=r){ if(nums[l]<pivot && nums[r]>pivot){ swap(nums,l,r); l++; r--; } while(l<=r &&nums[l]>=...
2019-06-12 11:18:58
573
原创 二叉树的理解
二叉树的理解其实二叉树的题比较简单,做二叉树的问题个人理解怎么好做:窥一斑而见全豹比如114. Flatten Binary Tree to Linked List题Given a binary tree, flatten it to a linked list in-place.二叉树很大的时候不好想,想象处理一个 最小的二叉树 1,2,3怎么做,就是将左节点插入到根节点和右节点之间,递...
2019-05-30 12:16:38
131
原创 leetcode75. Sort Colors
75. Sort Colors帅气class Solution { public void sortColors(int[] nums) { int zero =0; int two = nums.length -1; int i =0; while(i<nums.length){ while...
2019-05-29 22:35:53
84
原创 leetcode杂记
208. Implement Trie (Prefix Tree)其中有段代码for(int i =0;i<word.length();i++){ char it= word.charAt(i); now = now.children[it-'a']; if(now == null){ now = new TrieNode(...
2019-05-17 17:42:47
78
原创 python3的print
python3的printPython3的print方法是有参数的,比如sep表示字符串之间的连接符,end表示以什么结尾。如果没有设置参数默认sep=‘ ’,end=’\n’错误:print(k+'\t'+str(v)) #对的print(k,'\t',str(v)) #错的...
2019-05-14 00:24:36
120
原创 java 反射
反射的优点java的反射机制就是增加程序的灵活性,避免将程序写死到代码里例如:实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码,并重新编译。使用反射: class.forName(“person”).newInstance(); 而且这个类描述可以写到配置文件中,如 **.xml, 这样如果想实例化其他类,只要修改...
2019-05-08 20:37:27
116
原创 数据库原理
什么叫事务通俗点说:一组要么完全执行,要么完全不执行的SQL语句,用来维护数据库的完整性。事务与并发并发下,事务会产生问题:丢失修改、脏读、不可重复读、幻影读事务的隔离级别并发下事务会产生问题,不同的隔离级别,会解决不同的问题,级别越高,能解决的问题越多隔离级别未能解决问题读未提交脏读、不可重复读、幻影读读已提交不可重复读、幻影读可重复读幻影读...
2019-05-08 17:16:54
203
原创 spring aop的理解
aop面向切面。第一个问题切谁?答:切一个类或者一个接口在哪切?答:方法前或者方法后为什么叫切面?答:因为有好多类似的类和接口都需要这样切,所以形成了切面切完了干嘛? 答:放东西,放要做的事情代码...
2019-05-07 22:00:47
89
原创 Java类的几个小问题
Java类的几个小问题属性和关键词this类的方法里用到类的属性,要不要加this?看下面两段代码class it{ private int ok = 0; public void cc(){ ok = 3; System.out.println(ok); System.out.println(this.ok); }...
2019-04-10 17:18:06
111
原创 关于双指针/滑动窗口的理解
关于双指针/滑动窗口的理解一句话:双指针/滑动窗口 比 遍历 节省了时间,删去了不需要遍历的数据参考剑指offer<和为S的连续正数序列>
2019-03-20 12:05:58
1202
原创 url传参的一个小问题
问题描述在做Github爬取数据的时候,从别人处拿到一份9种语言stars数量排名前一千的数据。验证数据的时候发现c与c++语言的项目重复了900个左右。思考首先考虑是否github认为c与c++语言就是相通的?经过验证发现不是答案原来是通过api爬取数据的时候,lang:c++不能这样写,要写成c%2B%2B...
2019-03-20 12:03:08
105
原创 剑指offer——连续子数组的最大值
问题剑指offer上的【连续子数组的最大值】方法动态规划详解问题拆分容量为i数组 array[] 的连续子数组的最大值 max = max(end1,end2,……,endi)end2 : 以array[2]为最后一个值的子数组的最大值(start随便)状态之间的关系end2 = max((end1 +array[2]),array[2])...
2019-03-06 11:32:37
118
原创 如何加快爬虫(爬取Github API的速度)
如何加快爬虫(爬取Github API的速度)前言之前科研需要爬取Github API的数据,少量的直接request即可,遇到大量的数据怎么办,太慢了!三种解决方案:爬虫框架 Scrapy多进程 多线程异步多进程 多线程主要是用到这个from multiprocessing.dummy import Pool as ThreadPool参考文章:Python多线程爬...
2019-02-21 23:18:06
1245
原创 python读写windows下文件带\ufeff
python读写windows下文件带\ufeff在处理文件的时候,做重复清洗,发现开头的一个项目好几条相同记录清洗不掉结果发现问题,开头的记录中有“\ufeff”。后来查阅资料后发现是windows下写文件会这样。解决方案:with open( file,'r',encoding='UTF-8-sig') as f...
2019-02-21 16:31:25
339
原创 剑指offer——重建二叉树
剑指offer——重建二叉树思路迭代代码展示笨办法好方法思考关于递归的return正确错误关于二叉树思路迭代自己想的笨方法:从前序遍历入手,一个一个分析,结合中序里的情况,虽然笨,但是还是有效。别人的好方法:一句话表达,子树的根节点就是树的左右节点代码展示笨办法public class Solution { public static TreeNode reConstruct...
2019-01-08 22:43:41
124
原创 剑指offer——从尾到头打印链表
剑指offer——从尾到头打印链表思路迭代代码展示stack递归调用注意思路迭代先从头到尾存一遍,然后再把该数组倒过来stack递归调用代码展示stack/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {*...
2019-01-04 11:34:40
103
原创 剑指offer——二维数组中的查找(三种方法实现)
剑指offer——二维数组中的查找思路迭代代码展示123注意思路迭代第一次思考:循环整个数组 (254 ms 17652K)第二次思考:循环最后一行,从最后一行最左边的数开始,左下角的数字比较特殊,与target比较,比target大就向上走,比target小就向右走(181 ms 17580K)第三次思考:改进第二次思考,在向上走的时候用二分法 (171 ms 17460K)代码展...
2018-12-20 23:18:32
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人