自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

csdn_kou的博客

等风来

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

原创 LeetCode(合集)两数之和总结 (1,167,1346)

两数之和 1167. 两数之和 II - 输入有序数组 golang一个数组是否存在两个数是target的整数倍?如果有人知道这是LeetCode哪个题,给我说一下给每个数做整除,然后在遍历...

2020-04-29 21:26:56 162

原创 1190. 反转每对括号间的子串 golang反转字符串

1190. 反转每对括号间的子串557. 反转字符串中的单词 III 344. 反转字符串 golang 这个题比较新,但是面试竟然被问到了。10分钟之内没写出来给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = “(abcd)”输出:“d...

2020-04-29 11:26:18 484 1

原创 6.824 Raft lesson4 2020(一)

raft实现距离上一篇文章一个月,因为6.824的课程看不懂,基础知识薄弱。现在了解一点Raft算法(自己动手实现一遍)还需要其他分布式相关的基础知识(实现一个分布式对象存储系统),然后再去继续学习。总结一下,如果直接就去学习6.824的课程收效甚微,一定要有一定基础知识储备才可以!Raft算法简单实现。package mainimport ( "fmt" "log" "mat...

2020-04-26 21:27:18 579

原创 分布式是写出来的(六)

断点下载GET当服务端收到GET请求,服务端不会把整个对象返回给客户端,服务端首先做SEEK,查找客户端提供的Range: bytes=first的字节数,从0-first的内容服务端直接丢弃,那么服务端从first开始传递数据POST如果客户端想分片上传数据,那么客户端和服务端,须有约定。使用POST告诉服务端上传数据长度和散列值。服务端生成一个对象信息,然后返回给客户端一个token...

2020-04-26 21:25:12 151

原创 分布式是写出来的(五)

数据冗余策略数据冗余是指在存储和传输过程中,出了实际需要的数据,还存在额外的数据进行校验。(额外的数据可以是一个备份,也可以是校验完毕的数据)ECC(Error Checking and Correcting)ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条。一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。ECC是“Error Checking a...

2020-04-26 21:25:00 174

原创 分布式是写出来的(四)

数据去重为了防止同一份数据上传多次,我们需要进行hash值校验。启动服务时,扫描所有文件,计算sha256值,存储在hash表中。上传文件时,在put请求中添加自己计算的sha256值,hash表内的值进行比较,达到数据去重的目的。数据校验在传输过程中,数据可能损坏丢失,那么数据存储层就没必要存储这个数据了。验证客户端提供的散列值和根据已经上传的对象的散列值进行对比一致性。...

2020-04-26 21:24:46 125

原创 分布式是写出来的(三)

ES的基本使用启动(windows)elasticsearch-7.6.2-windows-x86_64\elasticsearch-7.6.2\bin\elasticsearch.bat成功http://192.168.7.6:9200/people链接服务器的golang操作添加索引package main import ( "context" "fmt" "github....

2020-04-26 21:24:33 129

原创 分布式是写出来的(二)

从单机存储进化为接口和存储的分离概述接口服务层对外提供REST服务,数据服务层提供数据存储功能。两者之间通过消息队列进行通信,数据服务层的所有数据服务注册dataServer Exchange, 以便client给接口服务层发消息后,接口服务收到GET请求时,定位对象被保存在哪一个数据服务节点,通过dataServer Exchange找到对应的数据服务。为保证dataServer Excha...

2020-04-26 21:24:18 201 4

原创 分布式是写出来的(一)

分布式对象存储笔记实现一个单机版本的对象存储package mainimport ( "io" "log" "net/http" "os" "strings")func Handler(w http.ResponseWriter, r *http.Request) { m := r.Method if m == http.MethodPut { put(w, r)...

2020-04-26 21:24:03 178

原创 LeetCode 303,560,1248 (前缀求和 )

303. 区域和检索 - 数组不可变给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> ...

2020-04-21 21:54:01 244

转载 466. 统计重复个数 golang[转]

转载(mark)https://blog.by24.cn/archives/leetcode-count-the-repetitions.htmlfunc getMaxRepetitions(s1 string, n1 int, s2 string, n2 int) int { len1, len2 := len(s1), len(s2) index1, index2 := 0, 0 //...

2020-04-19 10:46:47 337

原创 11. 盛最多水的容器 golang

11. 盛最多水的容器 (一道比较特殊的题)之所以说特殊是因为这个题用动态规划反而比暴力破解法还复杂。这种容器的题,就是前后指针方向。尽量别考虑别的思路。11. 盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x ...

2020-04-18 12:10:03 305

原创 golang json判断类型

json怎么判断类型 if q.Number == '0' { fmt.Println("q.Number is string!Pass" ) } if q.Number == 0 { fmt.Println("q.Number is not string!Wrong" ) }看上去很粗暴但是很实用,并没有查到满意的方法,待补充。package mainimport ( ...

2020-04-15 19:01:16 1742

原创 golang json例子

Example1package mainimport ( "encoding/json" "fmt")type Product struct { Name string ProductID int64 Number int Price float64 IsOnSale bool}func main() { p := &Product...

2020-04-15 18:59:28 166

原创 120. 三角形最小路径和 golang

120. 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。Codefunc minimumTotal(triangle [][]int) int { if len(triangl...

2020-04-06 22:00:53 177

原创 349. 两个数组的交集 golang

349. 两个数组的交集给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。Codefunc intersec...

2020-04-06 16:26:39 641

原创 257. 二叉树的所有路径 golang

257. 二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3Codefunc binaryTreePaths(r...

2020-04-06 16:14:33 291

原创 42. 接雨水 golang

42. 接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6Codefunc trap...

2020-04-06 14:56:50 304

原创 15. 三数之和 golang

15. 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]Codefun...

2020-04-06 12:42:02 376

原创 56. 合并区间 golang

56. 合并区间给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区...

2020-04-06 12:40:51 509

原创 41. 缺失的第一个正数 golang

41. 缺失的第一个正数给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1Code双百解法!这个题据说今日头条出过,注意最优解是让切片自己成为hash。记住这种思想很重要func firstMissingPosit...

2020-04-05 22:08:41 198

原创 581. 最短无序连续子数组 golang

581. 最短无序连续子数组给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在 [1, ...

2020-04-05 14:12:55 135

原创 739. 每日温度 golang

739. 每日温度根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000...

2020-04-05 10:35:38 147

原创 739. 每日温度 golang (list实现)

739. 每日温度根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000...

2020-04-04 21:17:00 477

原创 golang中的栈(LeetCode刷题)

Invalid operation: i-ind (mismatched types int and interface{})golang没有设计stack类型吗?答案是有的!使用list(双链表)的部分操作就可以达到stack操作的目的。stack := list.New() //初始化栈ind := stack.Remove(stack.Front()).(int) //出栈stac...

2020-04-04 21:05:15 2350

原创 199. 二叉树的右视图

199. 二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---Code...

2020-04-03 22:45:55 132

原创 662. 二叉树最大宽度 golang

662. 二叉树最大宽度给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。示例 1:输入: 1 / \ 3 2 / \ ...

2020-04-03 22:35:49 351

原创 958. 二叉树的完全性检验 golang

958. 二叉树的完全性检验给定一个二叉树,确定它是否是一个完全二叉树。百度百科中对完全二叉树的定义如下:若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)示例 1:输入:[1,2,3,4,5,6]输出:true解释:最后一层前的每一层都...

2020-04-03 20:59:48 243

原创 222. 完全二叉树的节点个数 golang

222. 完全二叉树的节点个数给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输出: 6Codef...

2020-04-03 20:57:39 182 1

原创 113. 路径总和 II golang

113. 路径总和 II给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 ...

2020-04-03 20:52:09 187 2

原创 112. 路径总和 golang

112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ ...

2020-04-03 20:50:52 115

原创 114. 二叉树展开为链表 golang

114. 二叉树展开为链表给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6Codefunc flatten(root *TreeNode...

2020-04-02 17:15:57 185

原创 LeetCode(合集) 路径总和(二叉树) golang copy的值复制

路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ ...

2020-04-02 16:29:08 151

原创 111. 二叉树的最小深度 golang

111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],·3/ 9 20/ 15 7返回它的最小深度 2.Code/** * Definition for a binary tree node. ...

2020-04-02 14:50:56 202

原创 104. 二叉树的最大深度 golang

104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。Codefunc maxDepth(root *TreeNode) int { if nil ...

2020-04-02 14:49:38 164

原创 golang slice append函数如何头插

题目二叉树的锯齿形层次遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]res[level] = append([]int{r...

2020-04-01 23:26:37 2881

原创 102. 二叉树的层序遍历 golang

102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]codevar res [][]intfunc levelOrder(root *Tree...

2020-04-01 21:44:57 669

原创 101. 对称二叉树 golang

101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3Codefunc isSymmetric(root *TreeNode) bool { ...

2020-04-01 21:44:15 126

原创 100. 相同的树 golang

100. 相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ ...

2020-04-01 21:43:11 114

Redis开发与运维.png

Redis运维和开发学习笔记-全书思维导图。

2019-12-29

空空如也

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

TA关注的人

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