算法题
文章平均质量分 87
整理用到的一些算法
小陈同学-陈百万
这个作者很懒,什么都没留下…
展开
-
算法(28)--矩阵搜索系列
矩阵搜索1.剑指 Offer 12. 矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径原创 2020-09-17 14:37:12 · 1555 阅读 · 0 评论 -
算法(24)-股票买卖
解题思路参考buladong解题,详细信息可以关注该公众号。原创 2020-09-12 20:51:06 · 756 阅读 · 1 评论 -
算法(23)-leetcode-剑指offer7
leetcode-剑指offer-559.面试题59-队列的最大值60.面试题64-求1+2+。。。+n61.面试题65-不用加减乘除做加法62.面试题66-构建乘积数组63.面试题67-把字符串转换成数组64.面试题68-1二叉树搜索树的最近公共祖先65.面试题68-2二叉树的最近公共祖先本系列博文为题库刷题笔记,(仅在督促自己刷题)如有不详之处,请参考leetcode官网:https://leetcode-cn.com/problemset/lcof/59.面试题59-队列的最大值60.面试题64原创 2020-12-23 11:30:19 · 246 阅读 · 0 评论 -
算法(22)-leetcode-剑指offer6
leetcode-剑指offer-545.面试题55- 二叉树的深度46.面试题55-2-平衡二叉树47.面试题57-1-和为s的两个数字48.面试题57-2-和为s 的连续正数序列49.面试题56-数组中出现数字的次数leetcode-136 只出现一次的数字Ileetcode-137 只出现一次的数字IIleetcode-260 只出现一次的数字III8.面试题51-数组中的逆序对9.面试题54-二叉搜索树的第k大节点10.面试题58-翻转单词的顺序11.面试题58-左旋装字符串12.面试题59-滑动原创 2020-12-23 11:25:05 · 218 阅读 · 0 评论 -
算法(21)-leetcode-剑指offer5
leetcode-剑指offer-443.面试题43-1~n整数中1出现的次数44.面试题44-数字序列中某一位的数字45.面试题45-把数组排成最小的数-快排变种46.面试题46-把数字翻译成字符串47.面试题47-礼物的最大价值-dp48.面试题48-最长不含重复字符的子字符串-滑动窗口法49.面试题49-丑数-自底向上递归50.面试题50-第一个只出现一次的字符-hash表51.面试题52-两个链表的第一个公共节点-双指针技巧52.面试题53-在排序数组中找数字54.面试题53-2-0~n-1中的缺失原创 2020-12-23 11:29:49 · 272 阅读 · 0 评论 -
算法(20)-leetcode-剑指offer4
leetcode-剑指offer-433.面试题33-二叉搜索树的后序遍历序列34.面试题34-二叉树中和为某一值的路径35.面试题35-复杂链表的复制36.面试题36-二叉搜索树与双向链表37.面试题37-序列化二叉树38.面试题38-字符串的排列39.面试题39-数组中出现次数超过一半的数字40.面试题40-最小的k个数41.面试题41-数据流中的中位数42.面试题42-连续子数组的最大和本系列博文为题库刷题笔记,(仅在督促自己刷题)如有不详之处,请参考leetcode官网:https://leetc原创 2020-12-23 11:29:39 · 155 阅读 · 0 评论 -
算法(19)-leetcode-剑指offer3
leetcode-剑指offer-31.面试题22-链表中的倒数第k个节点2.面试题24-反转链表3.面试题25-合并两个排序链表-递归4.面试题26-树的子结构5.面试题27-二叉树的镜像6.面试题28-对称二叉树7.面试题29-顺时针打印矩阵8.面试题30-包含min函数的栈9.面试题31-栈的押入,弹出序列10.面试题32-1-从上到下打印二叉树11.面试题32-2-从上到下打印二叉树12.面试题32-3-从上到下打印二叉树本系列博文为题库刷题笔记,(仅在督促自己刷题)如有不详之处,请参考leetc原创 2020-12-23 11:29:19 · 130 阅读 · 0 评论 -
算法(18)-leetcode-剑指offer2
leetcode-剑指offer-211.面试题13-机器人的运动范围12.面试题14-1-剪绳子13.面试题14-2-剪绳子214.面试题16-二进制中1的个数15.面试题16-数值的整数次方16.面试题17-打印从1到最大的n位数17.面试题18-删除链表的节点18.面试题19-正则匹配19.面试题20-表示数值的字符串20.面试题21-调整数组的顺序使得奇数位于偶数的前面本系列博文为题库刷题笔记,(仅在督促自己刷题)如有不详之处,请参考leetcode官网:https://leetcode-cn.c原创 2020-12-23 11:29:06 · 333 阅读 · 0 评论 -
算法(17)-leetcode-剑指offer1
leetcode-剑指offer-31.面试题3-数组中的重复数字2.面试题04-二维数组中的查找3.面试题05-替换空格4.面试题06-从尾到头打印链表5.面试题07-重建二叉树6.面试题09-两个堆栈实现队列7.面试题10-1-斐波那契数列8.面试题10-2-青蛙跳台阶问题9.面试题11-旋转数组的最小数字10.面试题12-矩阵中的路径本系列博文为题库刷题笔记,(仅在督促自己刷题)如有不详之处,请参考leetcode官网:https://leetcode-cn.com/problemset/lcof/原创 2020-12-23 11:28:45 · 243 阅读 · 0 评论 -
算法()-最大、括号
考虑所有的删除情况,采用广度优先,第一层为原字符串表达式,第二层为删除一个字符,第三层为删除两个字符的情况,不断广度优先遍历,直至找到第一个有效的删除数量,即为最少数量。给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…dp[i] 表示以下标 i字符结尾的最长有效括号的长度,(以s[i]结尾能构成的有效字符串的长度)依据s[i] 与之前的括号的配对情况,更行dp数组。遍历完字符串,查看栈是否为空,空则有效,非空,无效。原创 2020-09-13 23:27:18 · 407 阅读 · 1 评论 -
算法()- BFS最短路径
111.二叉树的最小深度 – 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。原创 2020-09-10 19:33:49 · 677 阅读 · 1 评论 -
算法(6)-动态规划DP-最值
有一类题目-子序列(不需连续)- 最长递增子序列LIS、 最长公共子序列LCS子串,子数组数(需要连续) - 最大和子数组排列:英文为 Permutation 或者 Arrangement,因此在数学公式里常用P 或者 A 表示。排列数:从n个不同的元素中取m个元素,按一定的顺序组成的组合,成为一个排列;组合:英文是 Combination,因此在数学公式里常用 C 表示。原创 2020-05-14 09:29:14 · 278 阅读 · 1 评论 -
算法(5)-暴力搜索-排列、组合(子序列、子数组、子串、回文)
base - 重复子问题、状态转移// 509. 斐波那契数 -- 重复子问题 f(20) = f(19) + f(18) , f(19)拆解又需要重新解f(18), 用memo/dp数组来记住字问题的解,需要求解一个子问题时,先去看看适否以及有人解过了。// 自顶向下(递归返回)、自低向上(循环迭代)、空间约简(只记录前两个状态)// 322. 零钱兑换 -- 状态转移-暴力递归(自顶向下), for循环(自底向上)原创 2020-05-13 16:23:41 · 311 阅读 · 1 评论 -
算法(4)-数据结构-二叉树
leetcode-explore-learn-数据结构-二叉树11.二叉树的深度优先遍历1.1前序遍历:中左右1.2中序遍历:左中右1.3后序遍历:左右中2.二叉树的广度优先遍历本系列博文为leetcode-explore-learn子栏目学习笔记,如有不详之处,请参考leetcode官网:https://leetcode-cn.com/explore/learn/card/data-structure-binary-tree/2/traverse-a-tree/7/所有例题的编程语言为python二原创 2020-05-13 09:43:21 · 590 阅读 · 1 评论 -
算法(3)-数据结构-链表、双指针技巧
leetcode-explore-learn-数据结构-链表11.概述1.1 链表插入操作1.2链表删除操作2.设计链表本系列博文为leetcode-explore-learn子栏目学习笔记,如有不详之处,请参考leetcode官网:https://leetcode-cn.com/explore/learn/card/linked-list/所有例题的编程语言为python1.概述链表是一...原创 2020-05-06 20:46:04 · 836 阅读 · 1 评论 -
算法(2)-数据结构-字符串
leetcode-explore-learn-数据结构-数组3-字符串1.简述2.例题2.1 二进制求和2.2实现strStr()2.3最长公共前缀本系列博文为leetcode-explore-learn子栏目学习笔记,如有不详之处,请参考leetcode官网:https://leetcode-cn.com/explore/learn/card/array-and-string/198/intr...原创 2020-05-01 11:23:52 · 556 阅读 · 1 评论 -
算法(1)-数据结构-数组、双指针技巧
leetcode-explore-learn-数据结构-数组11.简述2.例题2.1 寻找数组的中心索引2.2 至少是其他数字两倍大的最大数2.3 加一本系列博文为leetcode-explore-learn子栏目学习笔记,如有不详之处,请参考leetcode官网:https://leetcode-cn.com/explore/learn/card/array-and-string/198/in...原创 2020-04-29 11:36:46 · 337 阅读 · 2 评论 -
算法(0)-交换两个数字、X数之和、最大公约数、旋转角度
Python实现两个数字交换解法1解法2解法3a=6b=100解法1使用其他变量,最通用的方法c=aa=bb=c解法2不使用其他变量,利算法节省内存空间a=a+bb=a-ba=a-b解法3python 专有a,b=(b,a)#等号右边是一个元组或者可以写为:a,b=b,aprint(a,b)...原创 2019-06-28 19:09:04 · 3545 阅读 · 2 评论