自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (2)
  • 论坛 (2)

原创 寻路算法——A*算法详解并附带实现代码
原力计划

一、前言之前在做rpg游戏的时候实体移动用的是A*算法,那时候没有去研究A*算法原理,前天看了一篇博客介绍A*算法,按照自己的理解记录一下A*算法。参考:https://blog.csdn.net/nie2314550441/article/details/106673966https://zhuanlan.zhihu.com/p/23199073二、应用场景一副地图中有坐标A和B,需要找到一条路径(如果有的话)能从A到B,地图中可能有河流或墙壁不能直接穿过,我们需要怎样找到这条路.

2020-06-13 16:10:43 2697 8

原创 十大经典排序
原力计划

一、前言排序在算法和数据结构中很常见,对常见排序算法进行归纳。二、概述2.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。2.2 算法复杂度2.3 相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然...

2020-06-01 20:49:51 266 2

原创 服务器架构——开篇

该系列讲解游戏服务器框架,从服务器整体框架和刚刚模块——网关服、登陆服、广场服、游戏服、中心服、DB服、Web服,进行归纳和总结,将会分为多个篇章进行总结和说明。...

2020-05-07 21:25:02 389

原创 设计模式——开篇

将自己设计模式笔记逐渐上传到博客中,该笔记是来源于《设计模式——可复用面向对象软件的基础》这本书。也是这本书的学习笔记。

2020-04-29 21:53:45 411

原创 2020-10-24

1024 记录一下

2020-10-24 20:51:00 2

转载 计算机网络(自顶向下方法)学习笔记

目录 第一章 计算机网络和因特网1.1 什么是因特网1.1.1 组成描述1.1.2 服务描述1.1.3 协议1.2 网络的边缘1.2.1 接入网1.2.2 物理媒体1.3 网络核心1.3.1 分组交换1.3.2 电路交换1.3.3 分组交换和电路交换的对比1.3.4 网络的网络1.4 分组交换中的时延、丢包、吞吐量1.4.1 分组交换网中的时延概述1.4.2 排队时延和丢包...

2020-08-30 10:25:53 429 1

转载 Epoll的本质(内部实现原理)

本文主体转自https://blog.csdn.net/songchuwang1868/article/details/89877739#%E4%B8%80%E3%80%81%E4%BB%8E%E7%BD%91%E5%8D%A1%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E8%AF%B4%E8%B5%B7从事服务端开发,少不了要接触网络编程。epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、skynet和大部分游戏服务器都使用到这一多路复

2020-08-24 09:32:42 138

转载 MySQL数据库面试题(2020最新版)

原文https://blog.csdn.net/ThinkWon/article/details/104778621#BB_555文章目录 数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? 数据类型 mysql有哪些数据类型 引擎 MySQL存储引擎MyISAM与InnoDB区别 MyISA.

2020-08-20 08:35:43 361

原创 C++ 多态与虚函数表(五)拓展—— 对象大小

一、前言前面文章中分析了对象内存布局,对象大小已经不难理解了,这里集中总结一下。个人笔记,不保证严谨和正确☺,如有错误还望指出!《C++ 多态与虚函数表(一)—— 单继承》《C++ 多态与虚函数表(二)—— 多继承》《C++ 多态与虚函数表(三)—— 重复继承》《C++ 多态与虚函数表(四)—— 虚继承》《C++ 多态与虚函数表(五)拓展—— 对象大小》二、实例代码2.1 代码运行环境 64位#include<iostream>#incl.

2020-08-16 16:51:16 69

原创 C++ 多态与虚函数表(四)—— 虚继承

一、前言个人笔记,不保证严谨和正确☺,如有错误还望指出!《C++ 多态与虚函数表(一)—— 单继承》《C++ 多态与虚函数表(二)—— 多继承》《C++ 多态与虚函数表(三)—— 重复继承》《C++ 多态与虚函数表(四)—— 虚继承》《C++ 多态与虚函数表(五)拓展—— 对象大小》二、单虚继承Base1只有一层继承关系且为虚继承,只是用于测试,实际工作中不会这么样。2.1 类定义class Base{public: long long ibase.

2020-08-16 16:46:59 64

原创 C++ 多态与虚函数表(三)—— 重复继承

一、前言个人笔记,不保证严谨和正确☺,如有错误还望指出!《C++ 多态与虚函数表(一)—— 单继承》《C++ 多态与虚函数表(二)—— 多继承》《C++ 多态与虚函数表(三)—— 重复继承》《C++ 多态与虚函数表(四)—— 虚继承》《C++ 多态与虚函数表(五)拓展—— 对象大小》二、重复继承2.1 类定义class Base{public: long long ibase; Base ():ibase (10) {} virtu.

2020-08-16 16:35:44 75

原创 C++ 多态与虚函数表(二)—— 多继承

一、前言个人笔记,不保证严谨和正确☺,如有错误还望指出!《C++ 多态与虚函数表(一)—— 单继承》《C++ 多态与虚函数表(二)—— 多继承》《C++ 多态与虚函数表(三)—— 重复继承》《C++ 多态与虚函数表(四)—— 虚继承》《C++ 多态与虚函数表(五)拓展—— 对象大小》二、多继承2.1 类定义class Base1 {public: long long ibase1; Base1 ():ibase1 (10) {} vir.

2020-08-16 16:28:35 100

原创 C++ 多态与虚函数表(一)—— 单继承

一、前言个人笔记,不保证严谨和正确☺,如有错误还望指出!《C++ 多态与虚函数表(一)—— 单继承》《C++ 多态与虚函数表(二)—— 多继承》《C++ 多态与虚函数表(三)—— 重复继承》《C++ 多态与虚函数表(四)—— 虚继承》《C++ 多态与虚函数表(五)拓展—— 对象大小》二、取地址class Base{public: long long value; virtual f();};typedef void(*ptrType)(vo.

2020-08-16 16:19:45 1415

原创 Makefile和GDB调试

陈皓专栏,不错的博客,学习学习:http://blog.csdn.net/haoel/Makefile(一,二,三,四,五,六,七,八,九,十,十一,十二,十三,十四)GDB调试程序(一,二,三,四,五,六,七)...

2020-08-14 09:07:33 34

原创 服务器框架——订阅观察和订阅投票事件

一、前言如果问我最喜欢的设计模式,我会告诉你非观察者模式莫属,观察者模式在moba游戏中能发挥出巨大威力。观察者模式在游戏服务器中主要是订阅观察和订阅投票事件,让我们一起走进观察者模式领略它的魅力。二、场景我们先看几个游戏中的场景。2.1 场景一,玩家上线游戏中的需求:登录日志记录登录玩家信息 聊天系统,对未隐身的玩家,需要能收到聊天信息 游戏中有一个帮会A,帮会中需要显示在线玩家战斗力,帮会中玩家可以在玩家头顶显示帮会名称 地图中显示玩家打点,方便队伍或者自己能看到自己.

2020-08-03 23:36:19 68

原创 解析字符串

一、前言昨天一个朋友在应聘一家公司,公司给了他一道字符串解析的问题,按照自己的思路记录一下。二、题目/*** 目标:解析字符串(完成时间48小时内)* 格式: src="t1a=t1b&t2a=t2b&t3a=t3b"* 结果: map[t1a]=t1b,map[t2a]=t2b,map[t3a]=t3b* 要求: 1>使用辅助类型TokenizerEx(测试源文件中包含Tokenizer.h Tokenizer.cpp),可以使用STL中任何数据结构和算法.

2020-08-01 14:43:56 105

原创 31下一个排列

一、前言标签:其他。问题来源LeetCode 31 难度:中等。问题链接:https://leetcode-cn.com/problems/next-permutation/二、题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 →..

2020-07-26 00:28:17 29

原创 287寻找重复数

一、前言标签:二分查找。问题来源LeetCode 287 难度:中等。问题链接:https://leetcode-cn.com/problems/find-the-duplicate-number/二、题目给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例1:输入: [1,3,4,2,2]输出: 2示例2:输入: [3,1,3,4,2]...

2020-07-25 22:55:41 38

原创 105从前序与中序遍历序列构造二叉树

一、前言标签:树_构建二叉树。问题来源LeetCode 105难度:中等。问题链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/二、题目根据一棵树的前序遍历与中序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,2.

2020-07-25 16:32:18 49

原创 124二叉树中的最大路径和

一、前言标签:树。问题来源LeetCode 124 难度:困难。问题链接:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/二、题目给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点示例1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输.

2020-07-25 14:59:14 36

原创 253会议室 II

一、前言标签:区间有序化、上下车问题。问题来源LeetCode 253 难度:中等。问题链接:https://leetcode-cn.com/problems/meeting-rooms-ii/二、题目给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。示例1:输入: [[0, 30],[5,.

2020-07-25 10:26:27 42

原创 22括号生成

一、前言标签:回溯算法。问题来源LeetCode 22 难度:中等。问题链接:https://leetcode-cn.com/problems/generate-parentheses/二、题目数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "(...

2020-07-25 08:58:40 48

原创 148排序链表

一、前言标签:归并排序。问题来源LeetCode 148 难度:中等。问题链接:https://leetcode-cn.com/problems/sort-list/二、题目在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3-&...

2020-07-24 23:24:21 19

原创 76最小覆盖子串

一、前言标签:字符串滑动窗口。问题来源LeetCode 76 难度:困难。问题链接:https://leetcode-cn.com/problems/minimum-window-substring/二、题目给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串""。 如果 S 中..

2020-07-24 21:37:46 32

原创 10正则表达式匹配

一、前言标签:动态规划。问题来源LeetCode 10 难度:困难。问题链接:https://leetcode-cn.com/problems/regular-expression-matching/二、题目给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s 可能为空,且只包含...

2020-07-24 09:30:48 33

原创 739每日温度

一、前言标签:排序合并。问题来源LeetCode 739 难度:中等。问题链接:https://leetcode-cn.com/problems/daily-temperatures/二、题目请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0 来代替。例如:给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[...

2020-07-23 13:19:08 22

原创 56合并区间

一、前言标签:排序合并。问题来源LeetCode 56 难度:中等。问题链接:https://leetcode-cn.com/problems/merge-intervals/二、题目给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4].

2020-07-23 12:07:23 18

原创 46全排列

一、前言标签:全排序、回溯法。问题来源LeetCode 46 难度:中等。问题链接:https://leetcode-cn.com/problems/permutations/二、题目给定一个没有重复数字的序列,返回其所有可能的全排列。示例 1:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]三、思路用回溯法解决本题,先回顾一下回溯法。...

2020-07-22 23:14:04 51

原创 394字符串解码

一、前言标签:栈。问题来源LeetCode 394 难度:中等。问题链接:https://leetcode-cn.com/problems/decode-string/二、题目给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据.

2020-07-22 20:36:07 37

原创 2两数相加

一、前言标签:链表。问题来源LeetCode 2 难度:中等。问题链接:https://leetcode-cn.com/problems/add-two-numbers/二、题目给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -&g...

2020-07-22 20:15:06 26

原创 221最大正方形

一、前言标签:动态规划、栈运用、双指针。问题来源LeetCode 5 难度:中等。问题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/二、题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4三、思路动态规划解决这个问题,递推公式:d..

2020-07-21 21:03:19 40

原创 406根据身高重建队列

一、前言标签:贪心算法。问题来源LeetCode 406 难度:中等。问题链接:https://leetcode-cn.com/problems/queue-reconstruction-by-height/二、题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总.

2020-07-21 20:58:05 25

原创 42接雨水

一、前言标签:动态规划、栈运用、双指针。问题来源LeetCode 5 难度:困难。问题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/二、题目三、思路三种解题方法。方法一:动态规划找到数组中从下标 i 到最左端最高的条形块高度 left_max。 找到数组中从下标 i 到最右端最高的条形块高度 right_max。 扫描数组 height 并更新答案: 累加 min(ma..

2020-07-21 20:51:23 24

原创 5最长回文子串

一、前言标签:动态规划、中心扩散。问题来源LeetCode 5 难度:中等。问题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/二、题目给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例2:输入: "cbbd"输出: "bb"三、思路...

2020-07-21 20:07:52 19

原创 146LRU缓存机制

一、前言标签:HashTable+双向链表(Doubly Linked List)。问题来源LeetCode 146 难度:中等。问题链接:https://leetcode-cn.com/problems/lru-cache/二、题目运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返..

2020-07-21 19:58:00 36

原创 215数组中的第K个最大元素

一、前言分类:Divide and Conquer。问题来源LeetCode 215 难度:中等。问题链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/二、题目在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,...

2020-07-19 08:35:23 39

原创 241为运算表达式设计优先级

一、前言分类:Divide and Conquer。问题来源LeetCode 241 难度:中等。问题链接:https://leetcode-cn.com/problems/different-ways-to-add-parentheses二、题目给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。示例1:输入: "2-1-1"输出: [0, 2]解释: ((...

2020-07-18 23:32:57 35

原创 315计算右侧小于当前元素的个数

一、前言分类:Divide and Conquer。问题来源LeetCode 315 难度:困难。问题链接:https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self/二、题目给定一个整数数组 nums,按要求返回一个新数组counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于nums[i] 的元素的数量。示例1:输入:[5,2,6,1]输出:...

2020-07-18 19:34:18 28

原创 23合并K个排序链表

一、前言分类:Divide and Conquer。问题来源LeetCode 23 难度:困难。问题链接:https://leetcode-cn.com/problems/merge-k-sorted-lists/二、题目合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例1:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4-...

2020-07-18 09:29:53 29

原创 4寻找两个正序数组的中位数

一、前言分类:Divide and Conquer。问题来源LeetCode 4 难度:困难。问题链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/二、题目给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例1:nums1 ...

2020-07-17 19:52:27 60

读DCM数据,对DCM图按照序列号进行分类

完整的DCM工程,可以读取DCM图数据,可以对DCM图进行分类

2015-11-20

64位进程调用32位DLL实例

64位进程调用32位DLL实例,参考http://blog.csdn.net/nie2314550441/article/details/49867735

2015-11-18

空空如也
提示
确定要删除当前文章?
取消 删除