算法
不识字的朔
这个作者很懒,什么都没留下…
展开
-
【复习笔记】二叉树的前中后非递归遍历算法
前序遍历思路:全局指针,指向根节点,所到节点立即访问,然后把节点入栈,往左走。当左子树为空时,pop栈顶节点,如果栈顶右子树不空,把全局指针往右走,继续循环。循环结束条件:栈为空并且全局指针为null时。public static void preIte(TreeNode root){ Stack stack = new Stack(); TreeNode temp = r原创 2017-08-08 15:34:33 · 156 阅读 · 0 评论 -
【复习笔记】听说找工作一定要会的三种排序算法
扫到一眼牛客的算法补习班,讲到校招必会的三种排序算法?据说会这三种不一定能找到工作,但是不会这三个一定找不到工作(快 归并 堆)。算是作为复习,手敲三种排序:1.快速排序比较有用的partition函数,能够取出最小的k个元素。partition函数里slow指针指向的是第一个大于游标的元素。交换游标跟slow指向的元素返回slow即为游标的位置。因为是切分树结原创 2017-07-30 10:26:18 · 691 阅读 · 0 评论 -
【复习笔记】手写三种O(n^2)的基础排序算法
1.冒泡排序,稳定排序。public static void bubbleSort(int [] array){ int len = array.length; for(int i = 0; i < len - 1; ++i){ boolean canBreak = true; for(int j = 0; j < len - i - 1; ++j){原创 2017-08-09 20:14:37 · 240 阅读 · 0 评论 -
感觉好猛的一道异或题
题目描述给定整数m以及n各数字A1,A2,..An,将数列A中所有元素两两异或,共能得到n(n-1)/2个结果,请求出这些结果中大于m的有多少个。输入描述:第一行包含两个整数n,m. 第二行给出n个整数A1,A2,...,An。数据范围对于30%的数据,1 对于100%的数据,1 输出描述:输出仅包括一行,即所求的答案示例1输入原创 2017-08-17 14:46:46 · 266 阅读 · 0 评论 -
【复习笔记】手敲经常忘记的关于图的几个算法
BFS 类似于树的层次遍历,用队列依次存储节点的孩子节点然后做出队操作。唯一不同的是树不存在环,但图存在环,所以遍历图的时候需要设置一个访问矩阵,来记录一个节点是否已经被遍历过。public static void BFS(int [][] graph, int sx){ int dim = graph.length; boolean [] visited = new b原创 2017-08-11 21:38:35 · 175 阅读 · 0 评论 -
DFS解决组合题目
题目描述输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1输入5 5输出1 42 35import java.util.*;原创 2017-08-18 20:25:27 · 310 阅读 · 0 评论 -
【复习笔记】手写生产者消费者 & 死锁
看到几次有面经谈到死锁跟生产消费者模型的手写代码了,手动撸一份复习一下:生产者消费者:import java.util.ArrayList;public class proAndCus { public static void main(String[] args) { final box bigbox = new box(); for (int i = 0; i < 50原创 2017-09-05 20:44:37 · 1499 阅读 · 0 评论 -
【DP?】买卖股票
题目描述Say you have an array for which the i th element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most two transactions.Note:原创 2017-09-09 20:56:57 · 658 阅读 · 0 评论 -
【背包+DP】背包问题+面试实例
京东笔试的时候有一道求幂的题目,看到讨论区有大佬用背包算法求解,回来复习复习背包问题。N件物品,每件重量为weight[i],价值为price[i],问如何装进容易Vol的背包中得到背包价值最大。此类问题分为0-1背包、完全背包、多重背包问题。0-1背包:每件物品只有一个;完全背包:每件物品有无限个;多重背包:每件物品有K个;0-1背包:DP: dp[i原创 2017-09-26 19:48:44 · 1137 阅读 · 0 评论