- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 二叉树相关题目
在二叉树中常用的技术(1)递归(2)深度优先遍历(3)广度优先遍历1、对二叉树进行先序、中序或者后序遍历采用递归很简单,一般面试都让用非递归实现,采用深度优先遍历,熟悉了其实也不难说明一下:深度优先也有很多策略,比如先序遍历,是按层深度的,具体:根节点入栈,然后是右节点、左节点入栈以此类推。中序遍历,是左子树不断入栈,直到没有左子树,重复这个过程。二叉树的深度遍历...
2019-12-31 11:21:03 90
原创 接雨水问题(Trapping Rain Water)
先说一个整体思路:无论是用什么算法,其实整体思路是一样的,只是实现有差别。对于每个元素(画图中是柱子)它上面能不能放雨水,能放多少雨水,是由这个元素左右两边的最大元素决定的,min(left_max, right_max)- 当前元素的高度。进一步简化一下,只要发现左右两边最大元素的小的那个元素就可以了,也就是说,我们遍历的方向上,在远端有元素大于当前值,当前元素的可能蓄水值就是由这个方向的最...
2019-12-31 11:19:24 670
原创 二叉树的右视图
199. Binary Tree Right Side ViewDFS/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val =...
2019-12-26 18:22:29 166
原创 双指针技术(two-pointer technique)
要想用好双指针技术还是挺难的,尤其是快慢指针,所以单独开一篇文章一、数组中使用双指针(1)一个升序数字型的一维数组,给定一个目标值,找出数组中两个位置,这两个位置元素的和等于目标值。Two Sum II - Input array is sorted思路:采用从两端都中间移动的双指针技术。两指针元素的和大于目标值,右指针向前移,如果两指针元素的和小于目标值,左指针后移,直到相等。...
2019-12-24 17:06:08 631
原创 一维数组相关题目
数字类型的一维数组常用解题思路(1)两次循环遍历(2)一次循环遍历即可(3)从后往前遍历(4)排序后遍历(5)双指针技术 (分为两种:左右指针和快慢指针)具体题目(1)从一个数字型一维数组中,找到一个元素,这个元素左右两边元素的和相同,如果找到返回这个元素的位置,没有找到返回-1。Find Pivot Index思路:采用两次循环遍历,第一次遍历获取数组的和,第...
2019-12-24 11:17:12 380
原创 链表相关题目
最基本的就是反转单链表,递归和迭代都可以实现Reverse Linked List递归解法:从后往前反转,这是不断向新链表的尾加节点,直到结束。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * List...
2019-12-24 11:16:25 103
原创 二维数组相关题目
对角线遍历矩阵class Solution { public int[] findDiagonalOrder(int[][] matrix) { if (matrix == null || matrix.length == 0) return new int[0]; int M = matrix.length; int N = matr...
2019-12-20 16:55:06 254
原创 算法中常用的技术
一、recursion 递归技术leetcode上对recursion的解释Principle of RecursionReverse String 最经典的例子就是把一个数组(或者一个字符串)倒序链表相关题目 还有个经典的例子就是反转一个链表,递归和迭代都可以做,都很好理解Fibonacci Number 二、Two-Pointer Technique 双指针技术...
2019-12-20 16:48:09 620
原创 多字符串相关题目
一般围绕两个字符串的算法题,都有如下思路:(1)两个字符串同时遍历(2)嵌套遍历两个二进制字符串相加class Solution { public String addBinary(String a, String b) { StringBuilder result = new StringBuilder(); int i = a.leng...
2019-12-20 16:45:25 108
原创 Java: Subtract '0' from char to get an int… why does this work?
Java: Subtract '0' from char to get an int… why does this work?
2019-12-12 07:14:25 131 1
onInterceptTouchEvent和onTouchEvent使用demo
2013-05-29
策略模式的小例子
2012-09-07
欧式距离+归一化
2011-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人