自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ItLearner

一个练习时长两年半的程序员的出道历程

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 golang 中 time.Ticker 的使用方法

这也是最近的一道面试题,确实是之前对这一块的使用比较少,然后被难到了。当时面试的时候只是记得对goroutine的控制方法只有sync.WaitGroup这一种方法,但是这种方法是为了保证所有的goroutine全部都正常完成而准备的,想要直接到点直接退出,后来总结了一下,通常应该是有以下三种方法(仅个人理解)。time.Sleep() 方法该方法其实是最简单的,但不知道为什么当时就没有想到…func main() { for i := 0; i < 5; i++ { go func(i

2020-09-09 09:43:06 5458 1

原创 DFS的确是无处不在啊

今天的这道题确实对于我来说存在一定难度,在经历无数次的Error后,最终还是参考了一些其他人的解法,但发现其实不是想不到,而是想的不够全面!一起来看一下吧。题目描述给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,...

2020-03-16 00:10:32 201

原创 动态规划---实在是规划不动啊

今天拿到的题目是之前做过的一道题,但是在解题过程中还是出现了问题,确实应该经常巩固才可以啊。300.最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法...

2020-03-14 10:34:20 271

原创 一道题引发的Golang深入研究

今天在刷题时, 在对这道题解法的思考过程中,发现了Golang底层一些很有意思的内容,特别在这里记录一下,先来看一下题目大意:169. 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋⌊ n/2 ⌋⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入...

2020-03-13 22:56:12 255

原创 golang剑指offer-010.最长上升子序列

最长上升子序列一定是与次长自序列有关系的,因此可以考虑使用动态规划解题。状态定义dp[i]表示以nums[i]结束的最长上升子序列长度规划过程需要考虑两种情况:若nums[i]比前面的所有元素都小,那么dp[i]等于1(即本身)若nums[i]前面存在一个比他小的元素,那么dp[i] = dp[j] + 1(j为小的元素的坐标)但存在这样的情况,nums[i]前面存在多个比他小...

2020-02-25 10:35:36 205

原创 golang剑指offer-009.滑动窗口最大值

在处理滑动窗口这一类问题时,有一种很好的解决办法,那就是使用双端队列。什么是双端队列?双端队列是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出或者插入。那么具体该如何使用呢?对于这一类问题,有两点需要注意:双端队列中的元素个数是有限制的,一定要保证个数不能大于窗口大小kkk要保证双端队列的第一个值是当前队列中最大的根据逻辑进行思路整理,同时要保证必须...

2020-02-20 23:43:31 181

原创 golang剑指offer-008.旋转数组的最小数字

题目大意把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如:数组{3,4,5,1,2)就是{1,2,3,4,5}的一个旋转。输入示例{3,4,5,1,2}输出示例该数组最小值为1.解题思路既然是查找最小元素,那么可以考虑使用二分查找法,用两个指针分别指向数组的第一个元素和最后一个元素。旋转之后的数组实际上可以...

2020-01-16 18:55:18 181

原创 golang剑指offer-007.用两个栈实现队列

大家在一开始接触数据结构的时候,应该就会学习过如何用栈来表示队列,方法很简单,两个栈的栈底相接,两个栈顶一个负责入队,一个负责出队。题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路在最开始说的很明白,利用数组实现栈。用一个栈做输入栈,一个做输出栈。入队时,将元素压入输入栈。出队时,判断输出栈是否为空,如不为空,则直接弹出顶元素;如为...

2020-01-13 10:00:32 206

原创 golang剑指offer-006.重建二叉树

今天这道题还是有点思路的…(难得)题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。输入描述前序遍历序列{1,2,4,7,3,5,6,8} 中序遍历序列{4,7,2,1,5,3,8,6}输出描述重建好的二叉树。题目描述这道题之所以简单,是因为在这里并未出现重复的数字,而且,对于这一类题目,直接考虑使用递归的方法...

2020-01-09 09:41:14 322

原创 golang剑指offer-005.从尾到头打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值。输入描述链表表头输出描述需要打印的链表的表头解题思路这种题目一般情况下会使用反转链表的方法解决。对于单链表来说,其逆序方法和普通的切片/数组逆序方法是有一定区别的,在逆序过程中有一个很重要的点:在修改节点指针域的时候,一定要记录下后继节点的地址,否则将丢失后继节点。关于反转链表,一般有三种解决方法。就地逆序主要思路是:在遍历...

2020-01-08 11:14:12 471

原创 golang剑指offer-004.替换空格

今天这道题也不是很难,但我确实没想到,感觉自己逻辑思维能力太差了。题目请实现一个函数,将一个字符串中的空格替换成%20。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.。输入We are Happy.输出We%20Are%20Happy.解题思路1.直接法如果不考虑在原来的字符串上替换的话, 那么我们直接再开一个数组,从前...

2020-01-07 10:05:59 799 2

原创 golang剑指Offer-003.二维数组中的查找

为了方便把在《剑指offer》中的题刷一遍,并记录自己的问题,因此特意开了此坑,希望能够坚持下去!题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入描述array:待查找的二维数组target:查找的数字输出描述查找 成功返回true,查找失败返回false...

2020-01-06 10:18:23 385

原创 Golang 进阶:strconv -- 字符串和基本数据类型之间转换

strconv 包转换错误处理先来看一下 strconv 中是如何对错误进行处理的:在 strconv 的包中包含着两种 error 类型的变量:ErrRange 和 ErrSyntax。ErrRange 表示的是值超过了类型能表示的最大范围。ErrSyntax 表示的是语法错误。而我们返回的错误并不是一个简单的 Error,返回的错误是一个 NumError 的类型的 error 对象...

2019-07-30 15:16:17 9096

原创 Golang 进阶:strings -- 字符串操作

判断是否存在某个字符或者子串可以使用的函数有:func Contain(s, substr string) boolfunc ContainAny(s, chars string) boolfunc ContainsRune(s string, r rune) bool这三个函数中需要注意的是第二个func ContainAny(s, chars string) bool这个函数...

2019-07-28 10:10:08 2849

原创 Kafka 系列学习笔记(一)介绍

之前在学习 fabric 有关内容的时候,就了解到在 fabric 中的 orderer 节点中是需要借助 kafka 进行消息序列排序的,而且在现在,很多做架构的都在使用 kafka 。今天有时间来看一下,看一看到底 kafka 有多强大。基本概念首先我们要了解的是 kafak 的一些基本概念,在官方文档中,他提及到三点:kafka 作为一个集群,是运行在一台或者多台服务器上的。kaf...

2019-07-27 11:04:57 191

原创 Protobuf Language Guide(proto3)-3

MapWe can define a map value in our .proto file:map<key_type, value_type> map_field = N;where the key_type can be integral or string type, but enum is not a vaild key_type.The value_type can...

2019-07-18 17:33:48 449

原创 Protobuf Language Guide(proto3)-2

Using Other MessageWe also can use other Message type in an Message type, like this:message SearchResponse { repeated Result results = 1;}message Result { string url = 1; string title = 2; re...

2019-07-16 10:46:39 196

原创 Protobuf Language Guide(proto3)-1

A Simple ExampleLet’s begin with a simple example, if you want to define a search request with three paraments: a query string, the particular page of results and a number of results per page. Then ...

2019-07-15 10:33:19 209

原创 Protobuf for Go

Protocol buffers are the flexible, efficient, automated solution to solve the problem of serializing and retrieving the structured data. With protocol buffers, you write a .proto description of the d...

2019-07-14 22:31:32 209

原创 Docker-Compose 快速入门(基本指令)

Docker-Compose 是什么?Docker-Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。Docker-Compose 的工程配置文件名是默认为 docker-compose.yml 的,在整个文件中,我们可以通过环境变量 COMPOSE_FILE 或者 -f参数来对配置进行定义。我们可以看一个很简单的 docker-compose...

2019-07-14 10:29:36 1813

原创 分布式存储中的纠删码的一些简单定义

纠删码技术原理:将要存储的文件分割成 kkk 个数据单元,对其进行编码生成 mmm 个校验单元。并将这 n(n=k+m)n(n=k+m)n(n=k+m) 个文件碎片分布到不同的节点中。只要获得其中的 k′(k′&gt;=k)k&#x27;(k&#x27;&gt;=k)k′(k′>=k) 个文件碎片就可以重构原始的存储文件。RS 是 MDS 码中唯一一个能够...

2019-07-03 22:24:54 1025

原创 无法直接安装Ubuntu16.04的Win10系统安装教程

无法直接安装Ubuntu16.04的Win10系统安装教程本人电脑炫龙炎魔T1,最近想使用双系统,但是在安装16.04和18.04时总是会出现各种各样的问题导致无法安装,最常见的就是ACPI的问题,但经过多种尝试,最终得以解决,本人解决而办法十分简单:安装Ubuntu14.04LTS版本在系统中进行更新完成安装Ubuntu14.04LTS版本这一版本是一个十分稳定的...

2018-08-28 19:10:23 251

fabric部署.md

fabric release1.1在deepin系统上的具体部署实现,一步一步按顺序都可以完成!同时使用ubuntu系统,安装过程基本一致

2019-06-12

空空如也

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

TA关注的人

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