0%

java源码分析之ArrayList源码分析,ArrayList是常用的集合框架类之一。现在来先简单分析它的源码,占坑先。

阅读全文 »

去年就花了几百参加了左神的算法科,现在准备找工作,于是把之前的学习总结一下push上来,这个博客会继续维护,记录自己的学习路径。
先从简单的排序开始,下面总结一下几种不同的排序算法的java版本。

阅读全文 »

基本概念,图结构对元素的限定更少,因此它描述应用问题的能力棍儿更强。

一、术语:

G=(V;E),两个要素,V:顶点;存在对应关系就顶点相连,这些连边构成了图的第二个要素:边集。E:边的总数。彼此之间存在这种关系并且存在连边的任何两个点,我们成为彼此邻接关系。还有一个关系:关联(顶点与某条边的关系),注意区分邻接关系(顶点与顶点关系)。

阅读全文 »

LeetCode算法

1,TwoSum问题
给定数组arr = {2,3,5,7,12};一个target(int型,例如target=9),求数组中两个元素之后等于target的两个元素的下表,并把它们的下标以一个二元数组的形式返回,在这题中,2 + 7等于9,也就是0下标和3下标的元素之和为9。所以返回 target_arr = {0,3};我们用打印数组元素的方式输出更直观。代码如下:

阅读全文 »

在安卓与源码中,很多地方用到了回调机制,最近学习java,接触到了回调机制(CallBack),理解它很有必要。
循序渐进来理解java的回调机制。

阅读全文 »

事件总线EventBus

为了简化并提高在activity、Fragment、Thread和Service之间的通信,同时解决组件之间的高耦合的同时仍然能继续高效地通信,事件总线设计出现了。著名的开源框架有EventBus和otto,我们先来解析EventBus。

阅读全文 »

来点音乐: 不知道为什么,下面的视频只能在手机上用浏览器看,电脑上看就是一片空白。

题目:给定一个数组(不含重复值),找到每一个位置i的左边和右边离i最近且值比arr[i]小的位置,返回所有值。

举例:有数组 arr = {3,4,1,5,6,2,7};那么返回的信息就是[{-1,2},{0,2},{-1,-1},{2,5},{3,5},{2,-1},{5,-1}]
。这里返回的是二维数组。-1表示不存在。 进阶问题:若arr可能有重复值,找到每个位置i左边和右边的离i最近的且比arr[i]小的位置。

阅读全文 »