- 博客(9)
- 收藏
- 关注
原创 装饰者模式
设计模式(观察者模式)近日在 阅读springMVC源码时发现中大量的应用了观察者模式,发现自己仍然处于一知半解的状态, 故有此博文,加强对该模式的理解。 场景: 在微信应用使用中,我们经常会订阅些公众号,而公众号则自动的向订阅者提供服务,发送消息,当我们取消订阅时,公众号便不再推送。这个过程即使典型的观察者模式。而通常我们将公众号称为主题对象,而订阅者则称为观察者对象。主题对象管理者
2017-02-08 18:39:34
183
原创 max-points-on-a-line
max-points-on-a-line描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 思路 暴力解决,依次便利i,将其他点到i点的斜率依次保存,动态维护一个到该点斜率相同最多的个数,最后依次遍历找到最大点返回即可.AC代码impo
2016-05-03 22:20:50
178
原创 Minimum Depth of Binary Tree
Minimum Depth of Binary Tree描述 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 思路 求二叉
2016-05-02 17:27:52
206
原创 从尾到头打印链表
从尾到头打印链表描述 输入一个链表,从尾到头打印链表每个节点的值。 思路 1:由题意读者可以很清楚的观察到这是一个先进后出的性质,很明显可以采用栈来模拟实现 2:由于可以通过栈实现,我们可以联想到是否可以使用递归,我们知道在很多情况下都是通过栈来进行消除递归的AC代码递归实现public ArrayList<Integer> printListFromTailToHead(List
2016-04-28 11:56:52
177
转载 替换空格
替换空格题意描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符We%20Are%20Happy。思路: 1:new一个stringBuffer,依次扫描字符串,当遇到空格时进行apped(%20)AC代码 public String replaceSpace(StringBuffer str) {
2016-04-26 21:49:59
191
原创 二维数组中的查找
二维数组中的查找描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路 1:题意中给出二维数组是左右,上下递增.动态维护a[i][j],当i=0,j=a[0].length(即位于第一行最后一列的数),与整数target进行比较,target大于a[i][j]时,进行i
2016-04-26 21:42:58
167
原创 链表中环的入口结点
链表中环的入口结点 一个链表中包含环,请找出该链表的环的入口结点。 思路: 对于找相遇点的问题,“快慢”指针是一个很好的突破口,在这个问题描述中如果我们知道环中结点的个数n:便很好的可以利用”快慢“的性质,如定义P1,P2两个指针,P2先移动n个结点,然后P1,P2一起移动,则相遇的结点就是我们所求的入口结点。(P2移动的结点数-P1移动的结点数=n)环中个数的求解: 同理采用“快慢”指针
2016-04-25 18:26:43
266
原创 letcode remove-element
letcode remove-element 题目描述 Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn’t matter what you l
2016-04-22 22:04:35
256
原创 基于归并排序的实现与应用
基于归并排序的实现与应用 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并归并操作 并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。 如设有数列
2016-04-22 11:43:46
317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人