为了进阶高级 Android,定下了刷 LeetCode 的计划,此项目是 leetCode 的解题过程 刷题顺序参照网站:https://leetcode.com/problemset/algorithms/ 按从简单到难的顺序排列
刷题: day1.leetCode760 day1.LeetCode461 day1.LeetCode657
需要回头巩固的知识点:
- java Map 的时间复杂度
- http://blog.csdn.net/21aspnet/article/details/7387373
- 10进制和二进制之间的转换
- 二进制间的运算操作 | & ^
- 左移运算符(<<)右移运算符(>>)无符号右移运算符(>>>)
刷题: day2.leetCode561 day2.leetCode617 day2.leetCode728
需要回头巩固的知识点
- 合并二叉树
- java 的基本数据类型 char 和 byte 的区别
- char 如何做运算
- 贪婪算法
- 时间复杂度的计算
- 栈的定义
- 队列定义 以及 基本方法,入队(add) 出队 (poll 或 peek)
- 两个栈如何模拟队列
- 递归算法 递归实现一个栈的逆序(不可使用其他数据结构)要学会构造递归
- 理解递归 一个方法中调用本身 就是递归,对于递归要找出口,然后构造最简单情况下的 if else
- 递归到达出口后 函数还会一层层执行 递归外的内容,此时正好能实现这个逆序的操作
- 猫狗队列 这算是很简单的题了 主要记住解题思路
- 两个栈实现排序 也是记住解题思路