- 博客(116)
- 收藏
- 关注

原创 Go語言教程【环境搭建】
经历了整整5天的研究,本来以为GO语言安装起来很方便,结果安装了Goland, sublime text3, liteIde也没有使其编译成功,折腾了很久,一度想放弃学习,但功夫不负有心人,今天终于被我整明白了,今天我就来好好讲一下安装的精髓安装过程中出现的bug如果你在安装过程中,出现什么编译不正确,找不到各种包,各种error的问题,大致问题就是你的SDK包未安装或者环境变量未设置好检验一下,ctrl+R 输入 cmd , 再输入go 看是否有东西输入,如果没有,就跟着以下步骤走...
2021-07-22 11:29:47
180
原创 【17】算法【计数排序】
时间复杂度:O(N)两个前提满足条件:(一)排序的元素必须是整数(二)排序的取值要在一定的范围内,并且比较集中思想: 给定输入序列中的每一个元素x, 确定序列中值小于x的元素的个数;【1】找出原数组中元素值最大的,标记为max;【2】创建一个新数组count, 其长度是max+1, 其元素默认值都为0;【3】遍历原数组中的元素,以原数组中的元素作为count数组的索引,以原数组中的...
2022-02-28 14:26:00
89
原创 项目经验【1】
1、智能AI算法逻辑参考:斗地主:http://www.360doc.com/content/11/0108/09/2617151_84917660.shtml
2022-02-18 17:06:00
93
原创 笔试【1】
1、链表中环的入口结点2、链表中倒数最后K个结点方法一双指针思路:快指针先移动k步,慢指针从头开始,两个指针同时移动,当快指针移动到链表的末尾时,返回慢指针即可。方法二栈思路:先把原链表的结点全部压栈,再把栈中最上面的K个结点出栈,出栈的结点重新串成一个新的链表即可。相关连接学习: 剑指offer:https://www.nowcoder.com/ta/codi...
2022-02-18 11:57:00
90
原创 【1】HTTP概述
1)Web服务器是什么?2)Web应用程序是如何使用HTTP进行通信的?3)Web客户端与服务单是如何通信的?4)Web事物是怎样工作的?5)HTTP通信所使用的报文格式?6)底层TCP网络传输?...
2021-12-23 11:05:00
66
原创 【4】Go变量与类型
package mainimport ( "fmt")/*第一章:变量go是强类型语言,不允许不同的类型相互赋值*/func main() { var age1 int // 声明变量, 未初始化默认为0 var age2 int = 20; // 声明变量并初始化 var age3 = 30; // 有初始化可以自我判断类型, fm...
2021-11-01 18:04:00
44
原创 【4】sublime安装go语言,搭建环境
按照这个两个连接https://blog.youkuaiyun.com/u012855229/article/details/72642735https://www.cnblogs.com/chengxuyuan326260/p/10095914.html
2021-11-01 17:45:00
81
原创 (一)随记-STL
一、树(1)BST-二叉查找树、二叉排序树; 左子树所有结点的值均小于或等于它根结点的值;右子树上所有结点的值均大于或等于它根结点的值;(2)RBT-红黑树、平衡二叉查找树; 防止二叉查找树变成线性,(2)AVL-平衡二叉树:任何结点的两个子树高度差不会超过1; 根据平衡因子做判断,左旋右旋等完整解析:https://baijiahao.baidu.com/s?id...
2021-11-01 15:56:00
48
原创 编程题【一】
一、统计文件行数写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数示例:假设 nowcoder.txt 内容如下:#include <iostream>using namespace std;int main(){ int a = 10; int b = 100; cout << "a + b:" <&l...
2021-09-16 10:50:00
50
原创 【16】算法(桶排序)
桶排序是一种空间换取时间的排序,不是一种基于比较的排序,最好的情况下时间复杂度是O(n);java思路:用List[]类型的集合数组表示桶,每个List代表一个桶,将数据根据整除得到的值直接放到对应编号的集合里面,再依次排序;桶排序思想:把数据分组,放在一个个的桶里面,然后对每个桶里面的数据再进行排序;void BaseSort(){ int a[11], i, j, t;...
2021-09-15 16:31:00
48
原创 C++11花落知多少
(一)讲一下右值引用https://blog.youkuaiyun.com/chenxiyuehh/article/details/93665922(二)lambda(三)智能指针auto_ptr(已被弃用)、shared_ptr、weak_ptr、unique_ptr【1】为什么要使用智能指针智能指针的作用是管理一个指针,因为存在以下这种情况,申请的空间在函数结束时忘记释放,造成内存泄漏,使智能指针可以很大程度上的避免这个问题;因为智能指针就是一个类,当超出了类的作用域,类会自动调用
2021-09-02 18:55:51
145
原创 Java知识点拷问
1、JDK和JRE有什么区别?JDK: java开发工具包JRE: java运行环境JDK包含JRE,同时还包含了编译java源码的编译器javac, 还包含了很多java程序调试和分析工具。运行java安装JRE就可以,编写java程序,需要安装JDK2、== 和 equals的区别是什么?注释:基本类型:undefined, boolean, number, string, null引用类型:除基本类型之外的引用类型,也就是对象(属性和方法的集合)基本比较:.
2021-08-23 21:06:54
124
原创 Go语言经典问题
一、基础部分1、new 和 make 区别func new(Type) *Type (1) new只接受一个参数,这个参数是一个类型;(2) new可以分配任意类型的数据,返回的永远是类型的指针,指向分配类型的内存地址,即类型*T;func make(t Type, size ...IntegerType) Type(1) 只用于channel、slice、map的内存创建,(2) 返回的类型就是这三个类型本身,因为这三种类型就是引用类型,所以没有必要返回他们的指针;2
2021-07-30 17:30:53
124
原创 C/C++经典问答
图图工作3年啦,期间面过很多企业,因为问题特别基础,但是呢,又容易忘记专业的词语来解释,因此,准备做一个整理文档,欢迎给建议哦!一、基础1、new、delete、malloc、free的关系?(1)new和delete是C++运算符,都可以申请动态内存和释放内存,对象创建的时候自动执行构造函数,消亡之前自动执行析构函数;malloc和free是库函数,无法满足动态对象需求;(2)new操作符是从自由存储区上为对象动态分配内存空间,对象可以用成员函数访问不要直接访问它的地址空间;ma..
2021-07-30 15:08:12
245
原创 Git使用小技巧【cherry-pick灵活运用】
一、使用场景一、基本命令(1)git cherry-pick A【参数A可以是提交的哈希值,也可以是分支名,代表该分支的最新提交】(2)git cherry-pick A..B 【将A到B之间所有的提交都转移过去,但不包含A,A必须早于B】(3)git cherry-pick A^..B 【A到B之间连续且包含A】代码冲突:(1)git cherry-pick --continue【再解决完代码冲突后,将修改好的文件重新add到暂存区,然后执行 --continue 继续...
2021-07-29 16:40:54
1295
原创 Git使用小技巧【git reset和git revert, 你真的知道怎么用吗, 详细图解】
一、git reset 与 git revert 区别git reset: 生成一个新的提交,来撤销某次提交,此次提交前的commit都会保留【支持使用】git revert: 回到某一次提交,此次之后的修改都会被退回到工作区【谨慎使用】情况描述实践操作理解其区别,git status查看,目前只有oytt_test.c一个文件在暂存区,git log 查看提交记录,有三个版本的提交,假设版本ID是a1, b1, c1, 和这个版本提交的文件第三次提交, oytt_c1.c
2021-07-29 15:08:40
478
原创 Git使用小技巧【修改commit注释, 超详细】
通常有些朋友在 git commit -m "xxxx" file.c 后,觉得注释的内容描述不够精准,想将"xxxx"修改为"yyyy", 该如何操作呢?同有以下两种情况:第一种: commit之后,将代码git push到远程仓库的第二中: commit之后,还没有push, 代码还在本地仓库的如果是第一种情况会多一个步骤修改最后一次提交的提交注释首先,如果仅仅是想修改最后一次注释(1)git commit --amend 【第一行出现注释界面】(2...
2021-07-28 17:14:07
25665
6
原创 Go语言教程【defer篇】
defer:会将其后面跟随的语句进行延迟处理【先被defer的语句最后被执行,最后被defer的语句最先被执行】package mainimport "fmt"func main() { fmt.Println("defer begin") // 将defer放入延迟调用栈 defer fmt.Println("第一个") defer fmt.Println("第二个") // 最后一个放入,位于栈顶,最先调用 defer fmt.Println("第三个")
2021-07-22 16:52:53
116
原创 《将博客搬至优快云》
搬家啦~https://blog.youkuaiyun.com/xiaoyulike?spm=1000.2115.3001.5343
2021-07-22 11:34:00
48
原创 Go语言教程【切片篇】
基础写法slice [开始位置 :结束位置]slice用法append() : 为切片添加元素copy() :切片复制copy(des, src []T) int :将src复制到dessrc:切片来源des:复制成为的目标返回的是实际发生复制的个数刪除切片go删除切片没有专用的接口,需要使用其它接口辅助删除 range() 循环迭代切片...
2021-07-22 11:19:05
110
原创 【3】go语言容器之切片篇
基础写法slice [开始位置 :结束位置]slice用法append() : 为切片添加元素copy() :切片复制copy(des, src []T) int :将src复制到dessrc:切片来源des:复制成为的目标返回的是实际发生复制的个数刪除切片go删除切片没有专用的接口,需要使用其它接口辅助删除 range() ...
2021-07-22 09:56:00
28
原创 【1】全网最全GO安装教程!!!!
经历了整整5天的研究,本来以为GO语言安装起来很方便,结果安装了Goland, sublime text3, liteIde也没有使其编译成功,折腾了很久,一度想放弃学习,但功夫不负有心人,今天终于被我整明白了,今天我就来好好讲一下安装的精髓安装过程中出现的bug如果你在安装过程中,出现什么编译不正确,找不到各种包,各种error的问题,大致问题就是你的SDK包未安装或者环境变量未设置好...
2021-07-21 11:01:00
161
原创 【1】排行榜算法设计
需求背景:查看前top N的用户查看自己的排名用户积分变更后,排名及时更新1:保留排行榜2倍大小的缓存2:对比排行榜中最小的数值,比它大,插入排行榜中参考:http://www.cocoachina.com/articles/13638...
2021-07-15 12:18:00
39
原创 基础问答【二】
网络编程【1】线程和进程的区别一个程序至少有一个进程,一个进程至少有一个线程进程是资源分配的最小单位,线程是程序执行的最小单位一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行 主要差别在它们是不同的操作系统资源管理方式,进程有独立的地址空间,一个进程奔溃后,在保护模式下不会对其它的进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部...
2021-07-05 10:47:00
32
原创 基础问答【一】
c语言【1】struct和class的区别 默认继承访问权限,struct默认是public, class默认是privateg class可以定义成员函数,struct只能定义成员变量【2】struct和union的区别 struct的各个成员拥有自的内存,各自使用互不干扰,同时存在,遵循内存对齐原则:一个struct的总长度等于所有成员长度之和 union各个成员共用一块...
2021-07-04 11:45:00
34
原创 【1】c语言
【1】struct和union的区别(1)union是几个不同的类型共同占用一段内存(相互覆盖) struct是把不同的类型数据组合成一个整体【2】struct和class的区别
2021-07-04 11:31:00
27
原创 (五)帧同步与状态同步
区别: 主要在于核心战斗逻辑在哪些写的, 状态同步战斗逻辑在服务端 帧同步战斗逻辑在客户端 具体到客户端和服务端的通信上通信: 状态同步: 客户端更像是一个服务端数据的表现层,举个例子,一个英雄的几乎所有属性(例如血量、攻击、防御、攻速、魔法值等等)都是服务端传给客户端的,而且在属性发生改变的时候,服务端需要实时告诉客户端哪些属性改变了,客户端并不能改变这些属性...
2021-06-11 11:06:00
56
原创 (四)c++虚函数详解
(1)定义一个虚函数,是为了允许用基类的指针调用子类的这个函数。(2)定义一个纯虚函数,代表函数不被实现,是为了实现一个接口的作用,规范继承这个类的程序员必须实现这个函数。virtual void fun() =0 ;虚表 1. 虚表是一个指针数组,其元素是虚函数的指针,每个元素对应一个函数的函数指针。 虚表指针 1. 虚表属于类,而不属于某个具体的对象,因此,同一个类的所...
2021-06-11 10:48:00
33
原创 (三)git pull报错解决方案,Your local changes to the following files would be overwritten by merge...
(1)git status 显示现在文件工作状态(2) git pull后,显示以下报错,出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候你进行git pull操作就好出现冲突了,解决方法,保留本地的方式修改(强烈推荐,还有一种是直接拉取服务器的(不推荐使用),这样你本地修改的代码的,就会舍弃,相当于你写的代码直接没,你还的重新写...
2021-03-10 13:56:00
60
原创 (二)干货!获取该目录下,指定权限不为770的文件, 并设置权限为770
(1)获取该目录下,指定权限为770的文件 find . -perm 770 -print(2)获取该目录下,指定权限不为770的文件 find . -not -perm 770 -print(2)获取该目录下,指定权限不为770的文件, 并设置权限为770 find . -not -perm 770 -print | xargs chmod 770可参考:htt...
2021-03-09 19:55:00
53
原创 【8】java新特性,双冒号 :: 的使用场景
在使用双冒号前我们要先搞清楚一个问题:为什么要使用双冒号?也就是双冒号的作用是什么。双冒号的设计初衷是为了化简Lambda表达式【1】java8中引入了一个新的操作符 ::, 是两个英文半角的冒号, 这个操作符用来引用方法, 其本质也是对接口的一种重写。【2】::操作符可以引用实例方法,也可以引用静态方法, 引用实例时::前面是实例, 引用静态方法时::前面是类package Stu...
2021-03-06 18:31:00
60
原创 【7】java 反射详解
获取Class对象的方式: 1. Class.forName("全类名"); 将字节码加载进内存,返回Class对象,多用于配置文件,将类名定义在配置文件中,读取文件,加载类 2. 类名.class ; 通过类名的属性class获取,多用于参数的传递 3. 对象.getClass(); getClass()方法在object类中定义者,多用于对象的获取字节码方式pac...
2021-02-03 18:57:00
24
原创 【6】java 接口与抽象类
接口中的所有成员变量都默认是由public static final修饰的。接口中的所有方法都默认是由public abstract修饰的。接口一个接口可以继承多个接口.interface A {}interface B {}interface C extends A, B {} // true一个类可以实现多个接口:class D implements A,B,C{} // t...
2021-02-03 15:33:00
27
原创 【5】java之,List、Set、Map区别
ListArrayList : 数组LinkedList:链表SetHashSet:数据不会重复TreeSet:自带排序LinkedHashSet:可以保证怎么存就怎么取MapHashMap:红黑树TreeMap:自带排序HashTable: 线程安全LinkedHashMap:有序,HashMap+LinkedList,即它既使用HashMap操作数据结构...
2021-02-02 11:57:00
22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人