一些算法基础~
文章平均质量分 63
nice_evil
这个作者很懒,什么都没留下…
展开
-
【算法合集-leetcode系列】5.移动零(No.283)
其实最直观的想法,不要跟着题目走,而是挑选出非0部分,按顺序排好数组。然后统计非0部分,补在后面。官方解题提供了一种【交换】的思路,双指针,加快运行效率。我们不需要管0,只需要管非0。上述两种速度都很快。第二种方法空间占用更低一些。...原创 2022-07-28 18:31:49 · 1291 阅读 · 0 评论 -
【算法合集-leetcode系列】4. 有序数组的平方(No.977)
把**求平方(求幂)换成i*i,速度更快。根据【有序】的规律,使用双指针。977.有序数组的平方。原创 2022-07-21 00:26:05 · 119 阅读 · 0 评论 -
【算法合集-leetcode系列】3. 搜索插入位置(No.35)
题目描述: 35. 搜索插入位置https://leetcode.cn/problems/search-insert-position/用普通循环方法找肯定是可以的,但题目要求复杂度O(log n),就意味着要使用二分法啦。整体思路类似于二分查找目标target,但本问题多了“插入”的情况,需注意边界条件问题。我的思路:(1)先判断左右两端临界问题。若超出数组范围,那么直接比较最大最小值,返回位置(2)当target存在于list中,直接返回(3)当target不存在鱼list中并位于中间两数之间时,解为(原创 2022-07-14 17:15:43 · 1550 阅读 · 0 评论 -
【算法合集-leetcode系列】2.第一个错误的版本(No.278)
278. 第一个错误的版本https://leetcode.cn/problems/first-bad-version/最不需要思考的思路,一个个检索,直到第i个=True,第i-1个=False,写循环检索。但显示超时。那么有规则的数组,使用二分法: 效率没有特别高,因为在二分的时候,计算了一些重复元素继续改进,减少重复检索:减少了一些重复点,效率很高了官方版本:...原创 2022-07-12 18:09:53 · 78 阅读 · 0 评论 -
【算法合集-leetcode系列】1.二分查找(No.704)
题目描述如下:704. 二分查找https://leetcode.cn/problems/binary-search/算法思路:最简单的二分法,移动指针。*记得防止死循环的方法是指针移动mid+-1原创 2022-07-08 19:00:24 · 158 阅读 · 0 评论 -
【小波变换基础知识+实战应用】Matlab中小波、小波包函数的分解,重构及区别等(持续更新)
1. dwt()[cA,cD]=dwt(X,'wname')使用小波'wname'对信号X进行单层分解求得的近似系数存放在数组cA中,细节系数存放在数组cD中2. wavedec()[C,L]=wavedec(X,N,'wname')利用小波'wname'对信号X进行N层分解(多层分解)[C,L]=wavedec(X,1,’wname’)中返回的近似和细节都存放在C中,即C=[cA,cD],L存放是近似和各阶细节系数对应的长度appcoef():提取DWT后小波的近似系数(原创 2022-03-03 19:30:47 · 11701 阅读 · 3 评论 -
【整理+更新】最短路径连接算法:Dijkstra算法和Floyd-Warshall算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假设每条边 E[i] 的长度为 w[i],找到由顶点 V0 到其余各点的最短路径。(单源最短路径)2.算法原创 2021-11-17 14:20:41 · 1127 阅读 · 0 评论