数据结构与算法
凹凸曼~
每天的快乐就是停止胡思乱想~~~
展开
-
算法刷题计划(十)分糖果、最长有效括号、搜索旋转排序数组、在排序数组中查找元素的第一个和最后一个位置、搜索插入位置
leetcode算法刷题分糖果最长有效括号搜索旋转排序数组在排序数组中查找元素的第一个和最后一个位置搜索插入位置分糖果题目:题解:方法一(暴力):class Solution {public: int distributeCandies(vector<int>& candyType) { if(candyType.empty()) return 0; int times=candyType.size()/2;原创 2021-11-01 21:01:11 · 136 阅读 · 0 评论 -
算法技巧总结(三)KMP
序言:遇到需要查找原字符串中的字符是否含有匹配串中的字符时,通常有那几种方法解决呢?一般我们可能只想到的是用暴力解决方法来解题,但这个方法不是不好就是用的时间很长。所以有什么方法可以省时呢?其实这类题目可以用kmp方法来解的,这种方法是以空间换时间,即用时间短,占用空间相比于暴力解决方法大点。KMP详细讲解一、kmp算法的概念二、最长相等前缀和后缀三、next创建及代码讲解四、kmp算法代码五、应用:实现 strStr()若该文章有出错请留言告知一下,谢谢~~一、kmp算法的概念暴力..原创 2021-10-22 17:00:19 · 286 阅读 · 0 评论 -
以C++实现的数据结构与算法(队列)
队列队列头文件可直接调用#pragma once#include<iostream>using namespace std;template<class T>class LinearQueue {public: LinearQueue(int maxSize); ~LinearQueue(); bool isEmpty(); bool isFull(); bool insert(const T&x); bool getElement(T&.原创 2021-05-08 19:33:41 · 90 阅读 · 0 评论 -
以C++实现的数据结构与算法(栈)
1、顺序栈顺序栈头文件,可直接调用#pragma once#include<iostream>using namespace std;template<class T>class LinearStack {public: LinearStack(int maxSize); ~LinearStack(); bool isEmpty(); bool isFull(); bool push(const T&x); bool Top(T&x);.原创 2021-05-08 17:58:13 · 133 阅读 · 0 评论 -
以C++实现的数据结构与算法(链表)
链表linkList.h头文件,可直接调用使用#pragma once#include<iostream>using namespace std;//链表结点template<class T>class LinkNode { template<class T> friend class LinkList;public: LinkNode() { next = NULL; }private: T data;//数据 LinkNode&.原创 2021-05-07 19:35:42 · 132 阅读 · 2 评论 -
以C++实现的数据结构与算法(线性表)
线性表linearList.h头文件,可直接调用使用#pragma once//#ifndef LINEARLIST//#define LINEARLIST/* @author:jaccc @date:28-4-21 @descript:线性表*/#include<iostream>using namespace std;template <class T>class LinearList {//线性表public: LinearList(int LL原创 2021-04-28 20:54:32 · 258 阅读 · 0 评论