E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构与算法随笔
数据结构与算法随笔
之优先队列-求滑动窗口最大值(三)
这篇文章我们来看一道题目求滑动窗口最大值问题(在leetcode上的地址:滑动窗口最大值)题目描述给定一个长度为N的数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口k内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解决方案一、使用最大堆来实现
杨辉
·
2020-08-22 10:08
优先队列
数据结构与算法
java
数据结构与算法随笔
之------最长回文子串四种方法求解(暴力枚举+动态规划+中心扩展+manacher算法(马拉车))
所谓回文串,就是正着读和倒着读结果都一样的回文字符串。比如:a,aba,abccba都是回文串,ab,abb,abca都不是回文串。一、暴力法方法一:直接暴力枚举求每一个子串时间复杂度O(N^2),判断子串是不是回文O(N),两者是相乘关系,所以时间复杂度为O(N^3)。#includeusingnamespacestd;stringlongestPalindrome(string&s){intl
markconca的博客
·
2020-08-10 03:13
数据结构与算法随笔
数据结构与算法随笔
之------二分查找(一文彻底搞懂二分)
一.二分法的基础内容二分查找也称折半查找(BinarySearch),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。本文会介绍二分查找的基础内容以及最重要的在实际应用时二分法的各种变种及其套路,相信你看了本文,二分应该就ok了查找过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用
markconca的博客
·
2020-07-10 10:22
数据结构与算法随笔
数据结构与算法随笔
之------堆与优先队列详解
堆与优先队列1.定义优先队列队列是一个操作受限的线性表,数据只能在一端进入,另一端出来,具有先进先出的性质。有时在队列中需要处理优先级的情况,即后面进入的数据需要提前出来,这里就需要优先队列。优先队列是至少能够提供插入和删除最小值这两种操作的数据结构。对应于队列的操作,插入相当于入队,删除最小相当于出队。链表,二叉查找树,都可以提供插入和删除最小这两种操作。对于链表的实现,插入需要O(1),删除最
markconca的博客
·
2020-06-29 03:21
数据结构与算法随笔
数据结构与算法随笔
之链表-反转单向链表(一)
最近在学习数据结构和算法,目前学习到链表,这里主要分析下关于链表涉及的面试题解决思路和实现代码,本人熟悉java,所以实现都使用java。废话不多说请看第一题:反转单向链表(在leetcode上的题目地址:反转链表)题目描述:给定一个单项链表:A--->B--->C--->D--->E---null,编写一个函数反转这个单项链表,输出:E--->D---C--->B--->A--->null。算法
weixin_34326558
·
2020-06-28 17:29
数据结构与算法随笔
之------算法复杂度分析
一.算法1.算法定义及初步分析2.算法的特性3.什么是好的算法所以算法设计的要求这三个的读法自我总结:反着读!!!分别是:f(n)是T(n)的某种上界、下界、既是上界又是下界注意:一个函数的上下界未必唯一重点!!!常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!)此外,当你遇到一个Ο(n2)的算法时,常常
markconca的博客
·
2018-10-27 11:55
数据结构与算法随笔
数据结构与算法随笔
之优先队列-求滑动窗口最大值(三)
这篇文章我们来看一道题目求滑动窗口最大值问题(在leetcode上的地址:滑动窗口最大值)题目描述给定一个长度为N的数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口k内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解决方案一、使用最大堆来实现
杨辉
·
2018-10-23 00:00
java
数据结构与算法
优先队列
数据结构与算法随笔
之链表-链表是否有环(二)
上一篇文章我们分析了下链表之反转单向链表,这篇文章我们来分析下另外一个关于链表的经典题目。判断链表是否有环(在leetcode上的题目地址:环形链表)题目描述给定一个链表,判断链表中是否有环解决方案一、可以使用hash表来实现,遍历链表,每个节点放入hash表中,如果hash表中包含了某个节点,那么说明有重复节点存在,即是有环。如果没环,那么链表会遍历结束。代码如下:publicstatic>bo
杨辉
·
2018-10-18 00:00
java
数据结构与算法
链表
数据结构与算法随笔
之链表-反转单向链表(一)
最近在学习数据结构和算法,目前学习到链表,这里主要分析下关于链表涉及的面试题解决思路和实现代码,本人熟悉java,所以实现都使用java。废话不多说请看第一题:反转单向链表(在leetcode上的题目地址:反转链表)题目描述:给定一个单项链表:A--->B--->C--->D--->E---null,编写一个函数反转这个单项链表,输出:E--->D---C--->B--->A--->null。算法
杨辉
·
2018-10-12 00:00
java
链表
数据结构与算法
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他