自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 【数据结构】C++实现小顶堆

C++实现小顶堆//Myheap.h#pragma once#include<iostream>#include<vector>using namespace std;//小顶堆class MyHeap{public: MyHeap();//构造函数 MyHeap(vector<int>); void insert(int); void pop(); int top(); void assgin(vector<int>);

2021-08-25 00:03:10 692

原创 【数据结构】并查集

并查集昨天,2021年1月11号的leetcode每日一题中,用到了并查集这个数据结构。1202. 交换字符串中的元素在看到这道题的时候,想到了要用一个数据结构去表示字符串s中的各个下标的连通性,然后将下标连通性一致的元素排序即可。看了题解之后知道了有一个可以表示各个元素连通性的数据结构叫并查集,所以查了些资料,自己记录一下这个数据结构。并查集可以给一个数据结构中的元素分组,然后通过查询可以知道想要寻找的元素属于哪一个分组,并查集一般支持两种操作:1.查询:查询就是查询你想要查询的那个元素目前属

2021-01-12 16:22:55 1264

转载 【C++】C++Lambda表达式

转自C++之Lambda表达式C++ Lambda表达式C++ Lambda表达式是C++11开始提供的支持。Lambda表达式的基本形式为:[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}其中分为5个部分:1.函数对象参数2.操作符重载函数参数3.mutable或者excpetion声明4.->返回值类型5.函数体各个部分解析1.函数对象参数C++ Lambda表达式中的第一个部分是函数对象参数,

2021-01-10 14:51:45 354

原创 【C++】C++类型转换

C++类型转换C语言的类型转换风格很简单,就是一个括号然后加上要转换的类型,例如(int)a。而C++中提供了4种类型转换1.const_cast<>();2.static_cast<>();3.dynamic_cast<>();4.reinterpret_cast<>();1.const_castconst_cast的用法是:用于修改类型的const和volatile属性常量指针被转化成非常量指针,并且仍然指向原来的对象。常量引用被转换

2021-01-09 23:10:28 219

原创 【算法】全排列算法

全排列算法全排列算法是面试中常常会考到的一种算法。全排列算法就是求出一组数字的所有排列的可能性。例如**{1,2,3}**这三个数字的全排列就是1,2,31,3,22,1,32,3,13,1,23,2,1这里的六种排列。代码实现...

2021-01-09 16:36:19 1564 1

原创 【C++】C++ const关键字用法总结

C++ const 关键字用法总结概述const是constant的缩写,本意是不变的,不易改变的意思。在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。C++ const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程的过程中有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。const关键字的作用序号作用说明代码示例1可定义const常量定义为常量的变量将不能被更改,只能读取

2020-12-17 17:15:10 455 1

原创 【算法】洗牌算法

洗牌算法一个简单的洗牌算法思路如下:遍历待洗牌的数组,在遍历数组中的每一个数时,从数组中随机选取一个数,和当前下标的这个数做交换,当数组遍历完成时这个数组就被打乱了。这个洗牌算法的思路相当于在数组中随机填入待洗牌数组中的数,且不用考虑重复的问题,没有额外的内存空间的开销,每一个数在每一个位置存在的概率都是1/n。下面是代码void Shuffe(vector<int>& a, int n){ for (int i = n - 1; i > 0; --i)

2020-12-08 23:37:59 184

原创 【C++】C++ string类中的c_str()函数

string::c_str()函数返回一个正规的C字符串指针也就是char* 类型的指针。因为在c语言中没有字符串类string,所以这个函数是用来与c语言兼容,把string中的字符串转换为c语言中的字符串样式在使用c_str()的时候要注意比如如下代码char* c;string a="1234";c=a.c_str();这样用是不行的,编译器会报错invalid conversion from ‘const char*’ to ‘char*’我们需要这样使用const char*

2020-12-08 20:34:24 2175

原创 【OpenGL】OpenGL学习笔记1——渲染管线的初步认识

OpenGL学习笔记1顶点数组对象:Vertex Array Object,VAO顶点缓冲对象:Vertex Buffer Object,VBO索引缓冲对象:Element Buffer Object,EBO或Index Buffer Object,IBO在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应你屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线(Graphics Pipeline,

2020-12-01 10:50:49 234

转载 【转载】【Unity】细谈unity资源管理的设计

【此文章转载于细谈unity资源管理的设计】一、概要本文主要说说Unity是如何管理的,基于何种方式,基于这种管理方式,又该如何规划资源管理,以及构建bundle,是后面需要详细讨论的。二、Unity的资源管理方式2.1 资源分类unity项目中的资源,大体上可以分为外部导入资源和内部生成资源两种类型外部导入资源:美术生成的大部分资源,都是外部带入资源。模型,贴图,UI用图,基本是美术工具生成后,导入到工程中的。内部生成资源:部分美术生成资源,例如材质,shader,特效,场景等,属于基于Un

2020-11-26 23:51:20 414

原创 【算法】极小极大值搜索算法MinimaxSearch————井字棋的应用

极小极大值搜索算法MinimaxSearch算法描述极小极大值搜索算法,MinimaxSearch算法,是一种零和算法,是用来最小化对手的利益,最大化自己的利益的算法。极小极大之搜索算法常用于棋类游戏等双方较量的游戏和程序,算是一种电脑AI算法。该算法是一种总零和算法,即双方的利益对立,利益的总和为0。比如在井字棋中,总利益为0,以玩家A的视角看,A取得胜利获得的利益是1,则B在A获得胜利的情况下获得的利益则为-1,反之亦然,双方的利益总和为0。棋类游戏是双方交替下棋的游戏,每一次落子都代表落子的

2020-11-26 11:36:53 7291 7

原创 【算法】简单的桶计数的应用——leetcode 1370.上升下降字符串

桶计数缘由今天写leetcode上的每日一题1370.上身下降字符串这是一道很简单的题目,但是自己一开始没有想到用桶计数的方法来做,说明自己对桶计数这个方法还不是特别的熟悉,所以在这里做个记录,让自己以后遇到类似的问题可以更快地找到合适的方法。题目题目是这样描述的 给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在结果字符串后面。 重复步骤 2

2020-11-25 11:06:14 1235

原创 【算法】全排列算法Permutaiton——有重复和无重复的全排列算法

全排列什么是全排列在有n个数的数组中取m个数按任意的顺序组合,叫做排列而在有n个数的数组中n个数按任意的顺序组合,叫做全排列例如数组[1,2,3,4]他的全排列有[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2][1,4,2,3][1,4,3,2]...[4,2,3,1][4,3,1,2][4,3,2,1](举例太多了中间就省略了)4个不重复的数的全排列有432*1总共24种组合。可以推倒出n个不重复的数字的全排列有n!种可能不重复数组的全排列

2020-11-17 15:46:42 610 1

原创 【算法】排序算法整理——计数排序

计数排序算法描述:在冒泡排序,选择排序,快速排序等比较型排序算法中,我们最快只能做到O(nlogn)的时间复杂度。而计数排序是

2020-09-14 23:03:18 229

原创 【算法】排序算法整理——快速排序

快速排序算法概述快速排序是在冒泡排序的基础上改进而来的,冒泡排序每次只能交换相邻的两个元素,而快速排序是跳跃式的交换,交换的距离很大,因此总的比较和交换次数少了很多,速度也快了不少。快速排序的算法思想稍微有点复杂,但是还是比较容易理解的。快速排序的思想就是挖坑填坑+分治法比如下面这个数组,我们首先选择一个基准数,我们就选择第一个数作为基准数,然后我们要在这个数组里面找到一个坑,把72这个数填进去,使得72的左边全部都是比72小的数,72的右边全部都是比72大的数。那现在我们开始来找这个坑。首

2020-09-12 12:53:50 267

原创 【算法】排序算法整理——归并排序

归并排序算法描述归并排序是一种较为复杂的排序方法。归并排序运用了分治的思想,具体过程如图:图片来源于visualgo:排序由图中可以看出,归并排序首先将一个待排序序列二分为两个待排序子序列,然后对于每一个子序列再进行二分。等子序列分到不能再分的时候,将两个最小的子序列中的数分别排序,然后再将两个子序列合在一起排序,再找到同级的子序列合在一起排序,合成父序列之后再合成父序列,直到排序完成。(好像表达的不是很清楚。。。但是看图应该就能了解其中的过程了)。这个的算法的重点就在于分治之后的合并。对于

2020-09-04 20:48:23 153

原创 【算法】排序算法整理——插入排序

插入排序算法描述:插入排序是一种很简单的排序算法。插入排序的基本思想是:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。图片来源于visualgo:排序算法实现以下是插入算法的代码实现void INSsort(vector<int>& v){ for (int i = 1;i < v.size();i++) { if (v[i] < v[i - 1]) {

2020-09-04 19:57:19 141

原创 CocosCreator在脚本属性中使用数组

有时候使用CocosCreator的时候,需要在脚本的属性中定义一些数组,比如Node的数组,Prefab的数组。然后我总是忘记怎么定义这个数组哈哈哈,所以这里把它记录下来。写法和效果如图所示

2020-09-02 16:13:49 3609

原创 【算法】排序算法整理——选择排序

选择排序算法描述:选择排序也是一种相对简单的算法选择排序的思想是:n次遍历数组,每一次遍历找出待排序数组中最大(最小)的元素,把他放在待排列数组的最前面(最后面)排序个过程如下图:图片来源于visualgo:排序算法实现:void SELsort(vector<int>& v){ for (int i = 0;i < v.size();i++) { int index = i; for (int j = i+1;j

2020-08-29 23:44:26 133

原创 【算法】排序算法整理——冒泡排序

1.冒泡排序算法描述:冒泡排序是排序算法中比较简单的一种。冒泡排序的主要思想是:通过n次排序,每一次排序将待排序数组中的最大(或最小)的数排到待排序数组的最前面(或最后面),数组中的元素就像冒泡一样,一个一个冒上来。排序过程如下图:图片来源于visualgo:冒泡排序算法实现:假设我们现在要让数组按从小到大的排序,首先选定待排序数组,一开始整个数组都是待排序数组,数组中有n个数,那我们第一次冒泡应该将数组中最大的数冒到数组a[n-1]的位置。所以我们开始遍历数组,我们通过一个指针遍历整个数组

2020-08-28 19:29:23 214 1

原创 【C++整理】C++STL容器之vector——向量容器知识点整理

C++容器之Vector总结1.什么是Vector向量(Vector) 是一个封装了动态大小数组的 顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组2.Vector的内存机制Vector在内存中的结构和数组一样,就是一段连续的内存空间,不过Vector是动态的数组,当Vector中的数据增加并超过当前最大容量的时候,Vector会在内存中找到另外一段更大容量的内存,将数据拷贝至新的内存空间中,并且

2020-08-26 22:19:22 292

原创 算法面试题记录(持续更新)

网易游戏面试题记录[编程题]二进制计数-研发转自[https://blog.youkuaiyun.com/weixin_43022263/article/details/105121154]小A刚学了二进制,他十分激动。为了确定他的确掌握了二进制,你给他出了这样一道题目:给定N个非负整数,将这N个数字按照二进制下1的个数分类,二进制下1的个数相同的数字属于同一类。求最后一共有几类数字?输入描述:输入的第一行是一个正整数T(0<T<=10),表示样例个数。对于每一个样例,第一行是一个正整数N(0&

2020-08-08 13:18:09 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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