golang力扣leetcode 107. 二叉树的层序遍历 II

107. 二叉树的层序遍历 II107. 二叉树的层序遍历 II题解代码107. 二叉树的层序遍历 II107. 二叉树的层序遍历 II题解就是上一篇博文加一个翻转代码package mainfunc main() {}type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func levelOrderBottom(root *TreeNode) [][]int { result := leve
分类: 其他 发布时间: 11-27 08:29 阅读次数: 0

golang力扣leetcode 103. 二叉树的锯齿形层序遍历

103. 二叉树的锯齿形层序遍历103. 二叉树的锯齿形层序遍历题解代码103. 二叉树的锯齿形层序遍历103. 二叉树的锯齿形层序遍历题解就是一层翻转一层不翻转,大水题,与前面两篇博文类似代码package mainfunc main() {}type TreeNode struct { Val int Left *TreeNode Right *TreeNode}func zigzagLevelOrder(root *TreeNode) [][]int { re
分类: 其他 发布时间: 11-27 08:29 阅读次数: 0

redis基础数据类型常用命令笔记

redis基础数据类型操作redis数据存储格式stringstring类型介绍string类型数据的基础操作string类型数据的扩展操作hashhash类型介绍hash类型数据的基本操作hash类型数据扩展操作listlist类型介绍list类型数据基本操作list类型数据扩展操作setset类型介绍set类型数据的基本操作set类型数据的扩展操作sorted_setsorted_set类型介绍sorted_set数据类型的基本操作sorted_set类型数据的扩展操作redis数据存储格式后面介绍
分类: 其他 发布时间: 11-27 08:28 阅读次数: 0

Golang使用第三方库Go-Redis操作redis

Golang操作redis使用第三方开源的Go-Redis库Go-Redis的基本操作业务请求次数案例golang实现案例-代码使用第三方开源的Go-Redis库githttps://github.com/go-redis/redisgo modgo get github.com/go-redis/redis/v8api帮助文档https://redis.uptrace.dev/guide/server.html#connecting-to-redis-serverGo-Redis的基
分类: 其他 发布时间: 11-27 08:28 阅读次数: 0

Linux安装redis以及基本配置操作

Linux安装redis下载解压编译安装下载wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压tar -xvf redis-6.2.6.tar.gzcd redis-6.2.6/编译安装make install
分类: 其他 发布时间: 11-27 08:28 阅读次数: 0

Golang设计模式专栏汇总

01工厂模式02抽象工厂模式03外观模式04建造者模式05桥接模式06命令模式07迭代器模式08模板模式09访问者模式10备忘录模式11责任链模式12中介模式13原型模式14状态模式15策略模式16享元模式17组合模式18解释器模式介绍19单例模式20适配器模式21代理模式22装饰器模式23观察者模式...
分类: 其他 发布时间: 11-27 08:28 阅读次数: 0

Golang底层原理剖析专栏汇总

汇总目录Golang内置Log包的基本使用Golang日志库Zap基本使用Golang日志切割归档Golang关键字type的两种用法GolangFlag基本使用浅谈Golang并发控制WaitGroup浅谈Golang上下文Context浅谈Golang通道channel浅谈Golang线程安全的sync.Map浅谈Golang广播sync.Cond浅谈Golang对象池sync.pool浅谈Golang原子atomicGolang底层原理剖析之string类型与字符编码Gol
分类: 其他 发布时间: 11-27 08:27 阅读次数: 0

第1章 计算机网络概述

第一章 计算机网络概述1.1计算机网络的发展过程1.1.1 早期的计算机网络​ 20世纪50年代,美国空军设计的半自动化地面防空系统SAGE,将远距离的雷达和其他检测装置的信号通过通信线路送入一台IMB计算机系统,连接了1000+台终端,被认为是世界上最早的计算机网络。​ 早期的计算机网络是计算机和电话通信系统相结合的产物,连接到中心计算机的终端并没有自主处理能力。是以单台计算机为中心的远程联机系统。1.1.2 现代计算机网络的形成​ 美国国防部高级研究计划署资助一些公司和大学进行研究,设计了
分类: 其他 发布时间: 11-27 08:27 阅读次数: 0

mysql基本操作(一):数据库、建表约束

MySQL操作一、数据库操作操作名指令备注登录数据库sudo mysql -uroot创建数据库CREATE DATABASE dbnamedbname是自定义名字查看当前服务器所有数据库SHOW DATABASES使用数据库USE dbnamedbname是自定义名字删除数据库DROP DATABASE databasenamedbname是自定义名字修改数据库名ALTER DATABASE dbnamedbname是自定义名
分类: 其他 发布时间: 11-27 08:27 阅读次数: 0

MySQL 3NF

数据库三大范式第一范式:强调数据表的原子性​ 数据表中的所有字段都是不可拆分的原子值mysql> desc student;+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| id | int
分类: 其他 发布时间: 11-27 08:26 阅读次数: 0

MySQL查询(二)

查询练习​ 练习10:查询score表中的最高分的学生学号和课程号​ new! : 函数、子查询##10、 查询score表中的最高分的学生学号和课程号##子查询和函数mysql> SELECT sno,cno FROM score WHERE degree=(SELECT MAX(degree) FROM score);+-----+-------+| sno | cno |+-----+-------+| 103 | 3-105 |+-----+-------+查询
分类: 其他 发布时间: 11-27 08:26 阅读次数: 0

C++动态数组的简易实现

C++动态数组的简易实现​ 在啃过 STL源码剖析的vector这一章后,我准备自己写一个动态数组。因为在STL中的vector为了防止频繁的发生,添加元素->配置空间->移动元素->释放原空间,于是采用类似缓冲池的技术,减少空间配置的次数。这个技术就是 size + capacity 。下面举个例子,假如我们正常使用动态数组怎么改变//使用动态数组的步骤int* iptr = new int[10];//插入元素 1//1、创建新空间int* tmp = new int[
分类: 其他 发布时间: 11-27 08:26 阅读次数: 0

C++ List的泛型实现

List的泛型实现一、介绍链表​ 之前的文章中讲过了动态数组的实现,但是分析得知动态数组无论如何巧妙,增删复杂度最差都是 o(n) ,如果我们有这样一个使用场景,对于一个停车场,经常有人进出,所以需要频繁修改数据。如果停车场确实数量少,使用数组还可以,但是数量多了,肯定不可以使用数组了,因为比较慢。(ps:当然有更好的选择,后续介绍AVL树和RB树时再介绍)链表的结构​ 那么链表是一个什么样的结构呢?代码如下/*可以用泛型实现,也可以特化一个节点中包含: 1、一个指向下一个节点的指针 2、一
分类: 其他 发布时间: 11-27 08:25 阅读次数: 0

TCP socket基础套接字

基础TCP套接字函数一、套接口通信模型​ 主要函数如下图所示:​ 在这个模型中,左侧为TCP客户端连接的模型,先创建套接口,再通过connect()主动连接服务端。右侧为服务器端,服务器端需要侦听来自客户的连接并进行三路连接建立全双工的一个完整连接,所以需要先建立listen()套接口,监听到的连接再通过accept()建立可读写的套接口。​ 在linux中,套接口也是一个文件,这个文件就是一个生产者消费者模型。但是我们的关注点不在于缓冲区是否满(因为这些由内核协议栈关注),而我们关注的是数据
分类: 其他 发布时间: 11-27 08:25 阅读次数: 0

ARP协议是做什么的?

ARP协议过程介绍引言​ IP地址的设计目的是为了跨越不同类型的物理网络的分组交换提供相互操作。这需要底层网络硬件使用地址的支持。打个比方,我们可以知道所在地址的IP地址,但是还是需要端口号,也就是精确到目标进程。所以IP数据报想要准确的被一个主机上的网络硬件接受,也需要有个明确的地址——MAC地址。所幸对于TCP/IP网络,有着**地址解析协议(ARP)**提供在IPv4和各种硬件地址之间的映射。​ MAC地址是和硬件相关的,而且是唯一的。MAC的唯一性是有一个标准的组织给前几位的号码,然后剩下
分类: 其他 发布时间: 11-27 08:25 阅读次数: 0

预备役1(2021-11-23)

学习总结:1.今天总结了常用的三个排序,桶排,快排和选择排序。对于桶排来说,多用于记录出现的个数的题目,若是要对数组进行排序一般用冒泡,选择和快排,插排等。首先是桶排:顾名思义,桶排就是用一个个桶来对每一个输入的值进行记录,...
分类: 其他 发布时间: 11-27 08:24 阅读次数: 0

预备役2(2021-11-24)

今日学习内容:1.回顾了大数乘法,复习了队列和栈的基础及思想。另外在刷题网站上刷了五道字符串的题目,在acm刷题上刷了两道菜鸟杯题组,还没来的急给代码增添注释。首先对于大数运算(不限于乘法)我觉得大致可以分为四个步骤:首先就是给数组置零,说到置零,今天受到tzy学姐的指导,让我彻底了解了memset函数的用法(虽然我以前就知道)。,这是一个非常好用的函数,但是需要引入头函数“string.h”,以memset(数组名,赋值,sizeof(数组名))来体现。回归正题,置空了用来存储字符串的数组和用于求和的
分类: 其他 发布时间: 11-27 08:24 阅读次数: 0

预备役3(2021-11-25)

今天没干什么事情,只把启航的字符串题目写了。我就对这些题目进行一个总结与归纳。首先是对于字符串的增删与大小写互换。在前面的博客中也有提到过,首先是增,对于一个字符串来说,要增加有两种方式,一种就是链表,另一种是就是用两个数组实现。这里因为答主能力不够,只能用第二种方式,但是第一种方式无疑更加简洁,只需要把头尾地址改一下就行。接下来下面咱们说细一下怎么样用两个数组实现增添。首先先输入一个原数组,也就是待插入数组。接着用一个新数组从0开始遍历,根据题意判断插入条件和方式,最后输出新数组。下面是代码实现:
分类: 其他 发布时间: 11-27 08:24 阅读次数: 0

预备役4(2021-11-26)

今天就写了一些菜鸟杯得热身体,昨天还有一些题目没总结出来,今天就把这些一起打包了。首先接着昨天的题目,上次我们说到蛇形矩阵,并且也进行了仔细分析。关于前后自增自减的不同,会直接影响蛇的走向。其实这种类型的题目都是换汤不换药。对于不同的矩阵,我们只需要判断初始入口的位置就行了,拿昨天的题目来说,我们的入口在右上角,即(0,n-1)的位置,所以我们按照要求肯定要往下走,但是其他题目也可以要求我们往左走,这时候我们只需要根据题目修改一下我们的位移条件和限制条件即可。下面我会在举例一题三角蛇形矩阵的问题,其核心
分类: 其他 发布时间: 11-27 08:24 阅读次数: 0

【哈尔滨学院ACM-20211126训练赛】个人题解

This is my first article about solve contest problems. Thus there may be some error in this article, it's welcome correct that. There is no solution to all the problems of the contest this time in this article.
分类: 其他 发布时间: 11-27 08:23 阅读次数: 0