lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

随笔分类 -  数据结构与算法

摘要:1. 题目 读题 https://leetcode.cn/problems/generate-parentheses/ 这道题的题目描述是这样的: 给定一个整数n,表示括号对的数量,写一个函数来生成所有可能的有效括号组合。¹ 有效括号组合的意思是,每个左括号都有一个对应的右括号,并且括号之间的嵌套关 阅读全文
posted @ 2023-04-29 23:17 白露~ 阅读(25) 评论(0) 推荐(0) 编辑

摘要:1. 题目 https://leetcode.cn/problems/basic-calculator/ 2. 解法 解题思路: 使用两个栈,一个存储数字,一个存储运算符 遍历字符串,如果遇到数字,就将其转换为整数并压入数字栈 如果遇到运算符,就比较其与运算符栈顶的优先级,如果高于或等于栈顶的优先级 阅读全文
posted @ 2023-04-25 13:54 白露~ 阅读(18) 评论(0) 推荐(0) 编辑

摘要:一、基本概念 字符串匹配是计算机科学领域中最古老、研究最广泛的问题之一,层出不穷的前辈们也总结了非常多经典的优秀算法,例如 BF 算法、RK 算法、BM 算法、KMP 算法,今天我介绍的主角是 BM 算法。 字符串匹配可以简单概括为前缀匹配,后缀匹配,子串匹配,下面的讲解我都以最常见的子串匹配为例。 阅读全文
posted @ 2022-12-26 23:55 白露~ 阅读(231) 评论(0) 推荐(0) 编辑

摘要:BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算 阅读全文
posted @ 2022-12-26 23:30 白露~ 阅读(168) 评论(0) 推荐(0) 编辑

摘要:/** * rk字符串匹配算法,主要引入了hash的概念, * 利用子串的hash值依次对比主串相应长度的子串hash值 * 并对hash值相同的子串进行匹配对比 */ public class RKSearch { /** * rk算法入口 * @param t 主字符串 * @param p 子 阅读全文
posted @ 2022-12-26 23:27 白露~ 阅读(107) 评论(0) 推荐(0) 编辑

摘要:https://zhuanlan.zhihu.com/p/431240843 1 递归算法 1.1 算法策略 1.2 适用场景 1.3 使用递归算法求解的一些经典问题 DOM树为例 2 分治算法 2.1 算法策略 2.2 适用场景 2.3 使用分治法求解的一些经典问题二分查找 3 贪心算法 3.1 阅读全文
posted @ 2022-12-23 23:48 白露~ 阅读(126) 评论(0) 推荐(0) 编辑

摘要:贪心算法的产生背景是什么?它主要解决的是哪一类的问题?这些问题可以总结成一个固定的什么样的模型? 产生背景没了解过,但是我以前学建模的时候是这样理解的: 贪心算法是一种思路,而非固定的操作方法;贪心算法叫短视算法更贴切,因为它只考虑当前最佳的解决方法。至于它能解决哪类问题,我认为使用它并不一定能“解 阅读全文
posted @ 2022-12-23 23:37 白露~ 阅读(27) 评论(0) 推荐(0) 编辑

摘要:每次做选择的时候都做出当下最好的选择,而不考虑将来的后果。并且期望最终得到的结果是全局最优的。 ——贪心算法 - Greedy Algorithm 什么时候该使用贪心算法 针对一组数据,定义了限制值。现在需要我们从中选出几个数据,在满足限制值的情况下,使期望值最大。 这个不难理解,比如知乎上这个很火 阅读全文
posted @ 2022-12-23 23:22 白露~ 阅读(61) 评论(0) 推荐(0) 编辑

摘要:前言 在上一篇文章动态规划的文章中,我们先由 Fibonacci 例子引入到了动态规划中,然后借助兑换零钱的例子,分析了动态规划最主要的三个性质,即: 重叠子问题 最优子结构 状态转移方程 但是动态规划远不止这么简单。 今天这篇文章,让我们深入动态规划,一窥动态规划的本质。 我们既然要彻底搞清楚动态 阅读全文
posted @ 2022-12-23 17:57 白露~ 阅读(98) 评论(0) 推荐(0) 编辑

摘要:前言 我们刷leetcode的时候,经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。今天跟大家一起来学习动态规划的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~ 什么是动态规划? 动态规划的核心思想 一个例子走进动态规划 动态规划的解题套路 lee 阅读全文
posted @ 2022-12-23 17:55 白露~ 阅读(155) 评论(0) 推荐(0) 编辑

摘要:一、动态规划三板斧 状态转移公式 循环 或 递归 性能优化 二、WHY 1、状态转移公式 动态规划与分治不一样,分治的问题是相互独立的,而动态规划的各个状态是有关联关系的。比如背包问题,你选择了 i 物品之后,背包的剩余容量要发生变化吧,对装别的物品就有影响了。 状态转移公式就是刻画这种关联的,一旦 阅读全文
posted @ 2022-12-23 17:50 白露~ 阅读(35) 评论(0) 推荐(0) 编辑

摘要:链接:https://www.zhihu.com/question/23995189/answer/1094101149 对于动态规划,春招秋招时好多题都会用到动态规划,一气之下,再 leetcode 连续刷了几十道题 之后,豁然开朗 ,感觉动态规划也不是很难,今天,我就来跟大家讲一讲,我是怎么做动 阅读全文
posted @ 2022-12-23 17:48 白露~ 阅读(93) 评论(0) 推荐(0) 编辑

摘要:链接:https://www.zhihu.com/question/23995189/answer/613096905来源:知乎 0. intro 很有意思的问题。以往见过许多教材,对动态规划(DP)的引入属于“奉天承运,皇帝诏曰”式:不给出一点引入,见面即拿出一大堆公式吓人;学生则死啃书本,然后突 阅读全文
posted @ 2022-12-23 17:27 白露~ 阅读(116) 评论(0) 推荐(0) 编辑

摘要:我们之前说了二叉树基础及二叉的几种遍历方式及练习题 本文大纲 前序遍历 前序遍历的顺序是, 对于树中的某节点,先遍历该节点,然后再遍历其左子树,最后遍历其右子树. 我们先来通过下面这个动画复习一下二叉树的前序遍历。 迭代 我们试想一下,之前我们借助队列帮我们实现二叉树的层序遍历, 那么可不可以,也借 阅读全文
posted @ 2022-12-22 18:48 白露~ 阅读(77) 评论(0) 推荐(0) 编辑

摘要:学算法的时候,递归确实是最绕的,这个东西怎么说呢,思路比较反自然思维.... 为啥说它反思维呢:自己调自己,而因为你在调用自己的时候只用了一个Fn-1,但事实上这个Fn-1代表了超级多个Fn-2Fn-3......,这是最让人思维感到难受的地方,但是用久了发现:真香 你只需要明白一个思想,就是面对一 阅读全文
posted @ 2022-12-21 21:38 白露~ 阅读(28) 评论(0) 推荐(0) 编辑

摘要:作者:老刘链接:https://www.zhihu.com/question/31412436/answer/724915708 一. 引子 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归 阅读全文
posted @ 2022-12-21 19:26 白露~ 阅读(130) 评论(0) 推荐(0) 编辑

摘要:很多同学为什么学习递归 一看就会,一写就废! 这次我们要好好谈一谈递归,为什么很多同学看递归算法都是“一看就会,一写就废”。 主要是对递归不成体系,没有方法论,每次写递归算法 ,都是靠玄学来写代码,代码能不能编过都靠运气。 本篇将介绍前后中序的递归写法,一些同学可能会感觉很简单,其实不然,我们要通过 阅读全文
posted @ 2022-12-21 19:26 白露~ 阅读(76) 评论(0) 推荐(0) 编辑

摘要:前言 递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 Google 的 PageRank 算法都能看到,也是面试官很喜欢的考点 最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面,主要的问题在于解题后大部分都没有给出相应的时 阅读全文
posted @ 2022-12-21 19:12 白露~ 阅读(445) 评论(0) 推荐(0) 编辑

摘要:不是每个程序员天生对递归理解深刻,刚入大一时候,当别人写出第一个求最大公约数的递归函数时,对其多么的惊叹,竟然可以不用循环,竟然代码可以这么简洁,确实递归在大多数情况下实现时候代码很短,大部分人也知道递归,也能基本看懂递归,可是却经常不知道怎么写,或者写出来的递归经常死循环,写算法往往也是学的是套路 阅读全文
posted @ 2022-12-21 18:31 白露~ 阅读(169) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示