Bellman-Ford算法
贝尔曼-福特算法(Bellman–Ford algorithm )用于计算出起点到各个节点的最短距离,是一种单源最短路径算法,支持存在负权重的情况
贝尔曼-福特算法(Bellman–Ford algorithm )用于计算出起点到各个节点的最短距离,是一种单源最短路径算法,支持存在负权重的情况
这是一道leetcode的中等难度的题目,代码不算复杂,但还是有一点可以记录下来举一反三。
最近在通过《代码随想录》训练关于贪心算法方面的题目,有了一个新的心得体会,在这里摘抄一下,就是,如果一道题目有多个维度,那先不要上来就尝试在多个维度同时做贪心,那大概率会让给自己的思路陷入混乱。
算法学习的路线,个人体验,首先是学习基本的数据结构和算法,通晓每种数据结构适合存储什么类型的信息,然后了解通用的算法思想,比如贪心,双指针,单调栈,回溯等。第三步就是学会抽象,或者说等价,将具体的问题等价为简单的问题,然后用通用的算法去解决。第四步,就是有的算法只存在理论上的可行性,实际由于各种原因,如何去工程上的近似,或者有些问题不存在理论上的解法,只存在工程上的解法。
基本的数据结构,其实就是栈,队列,数组,链表,哈希,树,图之类的,其他的复杂数据结构都是再基本数据结构基础上组合出来的,比如跳表。
这次我们就从几个贪心算法体验问题等价能够带来的问题简化。
最近在尝试做一个文字转语音的功能,使用第三方的接口进行文字转语音,接口传入文字,返回音频文件,然后自动播放,这个流程在PC运行正常的,但是到了手机端,发现没有效果,因为手机端的浏览器默认不需要audio自动播放,需要明显的用户操作,比如点击才可以。
状态驱动是编程时的一种很重要的算法思想,能够帮助我们梳理和解决很多的问题,可以说很多的计算机算法,做的事情都是将程序从一个状态转移成为另一个状态。
最近需要实现一个状态机,一开始没当回事,后来写着写着,发现其中的状态管理和变化需要被仔细设计才能保证没有问题,今天就简单记录其中一版。
本次博客正式进入源码的解析部分,我们主要分析源码中的以下几个部分:
我们在迁移到vite的时候,可能会遇到一个情况,就是旧的项目中如果采用webpack,可能会将css文件直接当作css moudle去使用,但是这一点在vite中是不支持的,想要当作css module去引入,就必须以module.css作为扩展名,在研究了以下vite的源码之后,我们可以通过插件来实现这个无缝切换,并且实现css的热更新。
这篇博客我们介绍一下Vite的插件API,并且开发一个简单的插件来支持MPA项目。