![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 87
知行&
举世誉之而不加劝,举世非之而不加沮。
展开
-
KMP算法
很久之前就学习了KMP算法 , 也在网上查阅了许多的资料 , 但是一直对KMP算法的代码不甚熟悉 . 如果单纯靠背诵代码 , 而不理解其本质 , 是舍本逐末 . 所以今天力求用简短之篇幅讲解KMP算法 , 一是回顾知识 , 二来希望能让本文的读者有一点启发 .原创 2023-04-15 19:13:53 · 533 阅读 · 1 评论 -
算法---字符串
方法 : 滑动窗口法。原创 2023-03-30 15:24:45 · 223 阅读 · 0 评论 -
算法---DFS和BFS
转载自 :简介: 深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引擎,爬虫等,也频繁出现在高频面试题中。原创 2022-12-12 16:10:48 · 1247 阅读 · 0 评论 -
算法---其他
一只青蛙一次可以跳上1级台阶,也可以跳上2级……求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。对于每一级台阶 , 有两种选择 , 跳或者不跳 .原创 2022-11-13 08:10:18 · 608 阅读 · 0 评论 -
算法---二叉树
前序遍历的顺序是根左右 , 根据前序遍历根的顺序在前 , 再结合中序遍历 , 可以得出当前根节点的左子树和右子树 , 左子树和右子树再根据相同的思路进行遍历即可 . 本题思路简单 , 难点在于下标的确定 .给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。原创 2022-10-21 15:29:38 · 197 阅读 · 0 评论 -
算法---链表
我们使用递归的思路解决这一问题 . 创建一个顺序表list , 将当前节点加入list中的条件 , 是当且仅当该节点后的所有节点都已经被加入list中 . 按照这样的思路 , 写出如下代码 .输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回).原创 2022-10-21 10:40:49 · 155 阅读 · 0 评论 -
算法---数组
思路三:目标条件:目标数据超过数组长度的一半,那么对数组,我们同时去掉两个不同的数字,到最后剩下的一个数就是该数字。如果剩下两个,那么这两个也是一样的,就是结果),在其基础上把最后剩下的一个数字或者两个回到原来数组中,将数组遍历一遍统计一下数字出现次数进行最终判断 .由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组。思路一:定义map,使用的映射关系,最后统计每个字符出现的次数 .原创 2022-10-20 21:32:08 · 91 阅读 · 0 评论 -
算法---动态规划
这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…原创 2022-10-17 17:40:41 · 150 阅读 · 0 评论