摘要: 剑指 Offer 29. 顺时针打印矩阵 循环打印二维数组/矩阵的规律: 从左向右打印,此时上边界向下移动,行不变,列++ 从上向下打印,此时右界向左移动,列不变,行++ 从右向左打印,此时下边界向上移动,行不变,列-- 从下向上打印,此时上左界向右移动,列不变,行-- 算法框架 int t=0,b 阅读全文
posted @ 2020-07-16 14:32 zincredible 阅读(194) 评论(0) 推荐(0) 编辑
摘要: leetcode 785. 判断二分图 分析 如果给定的无向图连通,那么我们就可以任选一个节点开始,给它染成红色。随后我们对整个图进行遍历,将该节点直接相连的所有节点染成绿色,表示这些节点不能与起始节点属于同一个集合。我们再将这些绿色节点直接相连的所有节点染成红色,以此类推,直到无向图中的每个节点均 阅读全文
posted @ 2020-07-16 13:46 zincredible 阅读(167) 评论(0) 推荐(0) 编辑
摘要: vue生命周期以及常用标签 vue生命周期 new Vue({ el: "#app", data(){ return { userName : "test", } }, beforeCreate() { //实例在内存中被创建还没有初始化好data和metheds console.group('be 阅读全文
posted @ 2020-07-15 14:07 zincredible 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 滑动窗口算法本质就像卷尺拉伸缩短测量,当不满足条件是向右拉伸,当满足条件时像左拉伸 滑动窗口框架 //左边界 int i=1; //右边界 int j=1; while(i<target){ if(条件1){ //右边界向右 sum+=j; j++; }else if(条件二){ //左边界向左 s 阅读全文
posted @ 2020-07-15 10:32 zincredible 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 二叉树 二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此採用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁, 阅读全文
posted @ 2020-07-15 10:28 zincredible 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 常用算法 1.搜索算法 1).BFS(breadth first search) 以当前节点兄弟节点优先路径的探索方法 应用:最短路径查找 案例:查找某个目录下所有的文件 //深度搜索遍历文件夹下所有文件 public static void dfsListFile(String dirPath, 阅读全文
posted @ 2020-07-15 10:25 zincredible 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 动态规划 动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解 动态规划框架 //动态规划框架 //初始化 base case dp[0][0][...] = base //进行状态转移 for '状态1' in '状态1的所 阅读全文
posted @ 2020-07-15 10:24 zincredible 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 蓄水池抽样/水塘抽样算法 给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不可知,请问如何在只遍历一遍数据(O(N))的情况下,能够随机选取出m个不重复的数据。** 这个场景强调了3件事: 数据流长度N很大且不可知,所以不能一次性存入内存。 时间复杂度为O(N)。 随机选取m个数,每个 阅读全文
posted @ 2020-07-15 10:23 zincredible 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1.JVM内存模型 2.堆 堆GC: Minor GC 新生代垃圾回收动作,使用复制算法 Major GC/Full GC 老生代垃圾回收动作,使用标记清除算法,耗时较长,程序会stop the world 老生代内存不足会发生Full GC,如果回收后还是不足,则抛出 java.lang.OutO 阅读全文
posted @ 2020-07-14 20:57 zincredible 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 目录 数据结构 数据结构的存储方式 数据结构的基本操作 1、数组 2、栈(FILO) 3、队列(FIFO) 4、链表 5、树 6、散列表 7、堆 8、图 一、数据结构的存储方式 数组(顺序存储)和链表(链式存储) ,其他数据结构基本是在这两种结构上的特殊操作 二、数据结构的基本操作 线性的访问和非线 阅读全文
posted @ 2020-07-14 20:35 zincredible 阅读(193) 评论(0) 推荐(0) 编辑