
算法
程序员小辰
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【算法】面试题 16.16. 部分排序
【算法】面试题 16.16. 部分排序给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。示例:输入: [1,2,4,7,10,11,7,12,6,7,16,18,19]输出: [3,9]提示:0 <= len(array) <= 1000000【解法】如果存在这样的m和n,则数组原创 2021-01-22 16:09:57 · 495 阅读 · 0 评论 -
【算法】将单链表的每K个节点之间逆序
【算法】将单链表的每K个节点之间逆序头条的一道面试题,折磨死我了,为了下次不再被折磨贴一下……将单链表的每K个节点之间逆序限定语言:C、Python、C++、Javascript、Python 3、Java、Go给定一个单链表,实现一个调整单链表的函数,使得每 K 个节点之间的值逆序,如果最后不够 K 个节点一组,则不调整最后几个节点。示例1输入[1,2,3,4,5],3输出{3,2,1,4,5}思路我的想法比较朴素,用一个节点从头到尾遍历链表,并计数,每k个数字执行一次逆序操作原创 2021-01-05 23:09:19 · 702 阅读 · 0 评论 -
【LeetCode.10 正则表达式匹配】
【LeetCode.10 正则表达式匹配】10. 正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。【分析】这道题曾经困扰了我好久……直到今天看到力扣官方题解有点思路,记录一下。这道原创 2020-09-08 00:26:21 · 427 阅读 · 0 评论 -
【左神算法课学习笔记】动态规划
【左神算法课学习笔记】动态规划动态规划是对暴力递归算法的优化,主要是通过数组记录的方法,优化掉一些重复计算的过程。总结下动态规划的过程:(1) 抽象出一种“试法”,递归解决问题的方法,很重要(2) 找到“试法”中的可变参数,规划成数组表,可变参数一般是0维的,有几个可变参数就是几维的表(3) 找到base case,问题最基础的解,填入数组表中(4) 根据“试法”中的递归过程,和base case已经填到数组表的值,继续填表(5) 根据问题给定的参数,找到数组中对应的位置,就是最终的解然后原创 2020-08-23 23:42:16 · 1012 阅读 · 1 评论 -
二叉树的递归和非递归遍历(附代码)
二叉树的遍历(附代码)二叉树的遍历方法,按遍历顺序可分为先序遍历、中序遍历、后序遍历。先序遍历:根节点->左子树->右子树中序遍历:左子树->根节点->右子树后序遍历:左子树->右子树->根节点通过代码实现,有递归和非递归两种方式,递归比较好理解,非递归效率比较高,直接上代码了:递归方式//先序遍历void preorder_recursive(BTNode *root){ if(root) { printf(原创 2020-05-10 17:37:33 · 712 阅读 · 0 评论 -
解决全排列问题:使用深度优先搜索(DFS)
解决全排列问题:使用深度优先搜索(DFS)深度优先搜索(Depth FIrst Search, DFS),着眼于当下该如何做,至于下一步的做法则和当前的做法是一样的。可以借助这种思想来解决全排列问题。定义全排列问题:输入一个大于1的整数n,输出1~n的全排列。首先可以确定的是,每一种全排列的结果中包含的数字均是n个。想象面前有n个空盒子,现在要把1~n这n个数放到这些空盒子里去,每...原创 2018-03-06 00:13:19 · 2323 阅读 · 2 评论 -
快速排序的基本实现(Java)
快速排序的基本实现(Java)快速排序的关键步骤是将基准数归位。举个例子,假定有一个数组:int[] arr = {4,5,1,2,6,8,9,3,7},并且我们要把他按从小到大排序。选定第一个元素4作为基准数,归位的意思是要把它放到应该放的位置上去,同时左边的数都小于基准数,右边的数都大于基准数。可以设两个变量,我给他们取名为leftWalker和rightWalker。首先...原创 2018-03-06 00:14:05 · 314 阅读 · 0 评论