摘要:题目:障碍物 http://ddrv.cn/a/72091/ https://blog.csdn.net/qq_40315987/article/details/79964595
阅读全文
摘要:目录: https://zhipianxuan.github.io/ 一、树的DFS 二、二维矩阵的DFS 三、图的DFS 一、题目一:二维矩阵(输出所有路径数) 思路:从起点开始,DFS,直到走到终点,用一个全局变量res[0]记录所有路径数量。 代码: 二、题目:岛屿的最大面积 给定一个包含了一
阅读全文
摘要:一、目录: 二、题目1:两个大数相乘 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 输入描述: 输出描述: 示例1 输入 72106547548473106236 982161082972751393输出 70820244829634538040
阅读全文
摘要:一、题目:1+2+……+n 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:用递归(加逻辑符号【表示递归终止条件】) 代码:
阅读全文
摘要:一、在数组中查找局部最小的数 思路:二分查找 代码: 二、题目:在循环有序数组中查找某个数 循环有序数组: 指的是,将一个有序数组循环左/右移动若干距离之后变成的数组。如,[1,2,3,4,5]循环右移3位,就成为[4,5,1,2,3]。该数组的特点是,其中包含着一个转折点。转折点左右两侧的子数组都
阅读全文
摘要:一、图的入度和出度: 1、图的入度和出度 二、图的遍历:BFS、DFS 1、DAG的DFS:连除解题 2、图的DFS: 3、图的BFS 三、有向无环图DAG(拓扑排序): 1、DAG的拓扑排序:课表排序 四、关键路径(AOE网) 1、关键路径算法 五、最小代价生成树 1、prime算法 2、克鲁斯卡
阅读全文
摘要:一、树的遍历: 二、树的反序列化: 三、树的路径: 四、树的高度 五、两颗树 六、树【栈】 七、树【DFS】 八、树总 九、二叉搜索树:
阅读全文
摘要:一、栈和队列(1) 实现 二、栈和队列(2) 排序 三、栈和队列(3) 算法 一、采用栈找到元素左边和右边第一个比其小的数 二、采用栈找到元素左边和右边第一个比这个元素大的值。 三、找到下一个更大的元素: 就是二中找到右边大的元素。
阅读全文
摘要:目录 1、打印矩阵 转圈打印矩阵 将正方形矩阵顺时针转动90度 “之”字形打印矩阵 2、数组的遍历查找 一个数组,所有数都出现了两次(三次),只有一个数出现了一次,返回这个数, 一个1-n的数,少了一个,找出来 在数组中找到出现次数大于N/K的数【删除不同的数】 在行列都排好序的矩阵中找数 奇数下标
阅读全文
摘要:目录: (1)回文字符串 添加最少字符使字符串整体都是回文字符串 回文最少分割数 判断字符串是否是回文串 判断字符串本身是字符串或者删除一个字符后成为回文串 判断一个字符串在至多删除k个字符后是否为回文串 删除字符使字符串整体是回文串,最少多少种方案 最长回文子串 (2)括号字符串 括号字符串的有效
阅读全文
摘要:目录 1、链表建立、遍历和插入 实现一个链表(建立) 复制含有随机指针节点的链表(建立) 将搜索二叉树转换成双向链表(建立) 打印两个有序链表的公共部分(遍历) 判断一个链表是否为回文结构(遍历) 如何展出单链表中的倒数第k个元素(遍历) 向有序的环形单链表中插入新节点(插入) 2、链表删除 如何从
阅读全文
摘要:目录: 转圈打印矩阵 将正方形矩阵顺时针转动90度 “之”字形打印矩阵 找到无序数组中最小的k个数 需要排序的最短子数组长度【找到比当前最小值左边大的数和比最大值右边大的数的索引】 在数组中找到出现次数大于N/K的数【删除不同的数】 在行列都排好序的矩阵中找数 最长的可整合子数组的长度 不重复打印排
阅读全文
摘要:一、啥问题可以用动态规划来解决【采用空间来存储重复计算的结构】 举例子:斐波那契问题:F(n) = F(n-1) + F (n-2) F(n)分为两个子问题:F(n-1)和F(n-2), 而F(n-1)和F(n-2)重复计算了F(n-2)部分,所以这两个问题就是重复子问题 重复子问题可以用空间来存储
阅读全文
摘要:目录: 技巧: 应用技巧1:x&(x-1)【消除x(二进制)最后一位1】 判断是否为2的幂 判断是否为2的幂 判断是否为2的幂 判断是否为2的幂 应用技巧2:<<左移【除2】 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂
阅读全文
摘要:一、十大排序总结 https://www.cnblogs.com/guoyaohua/p/8600214.html总结得很好。 1、原地排序:快速排序、堆排序、插入排序、冒泡排序、希尔排序、直接选择排序 2、非原地排序:归并排序、计数排序、基数排序、桶排序 3、对有序的序列排序:冒泡、直接插入 4、
阅读全文