XuHAo Blog

把自由定义成一种感觉,而不是某种行为,自信即自由!

算法实践(归并集)

算法

算法实践(归并集) 算法解析 leetcode-547 朋友圈问题 — 班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i ...

算法实践(双指针)

算法

算法实践之双指针-go语言 有序数组的 Two Sum 有序数组的 Two Sum 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以...

链表基本算法浅析 GO语言版

算法

链表基本算法浅析 GO语言版 链表是我们常用的数据结构,关于链表的题目也常常在面试中遇到,出题的方式却不免大同小异,无外乎是解释链表结构、手写一个完整链表、链表相关的算法;进入精灵云的时候自己的操作系统的题做得不是很好,算法也没有ac,但是就因为手写了一个完整功能的双端循环链表结构拿下了实习,所以说链表基本功的扎实偶尔会在必要时帮自己一把。 这次写作目的是整理一下自己的链表基本算...

GoLang中goroutine之间的通信(下)

并发编程基础,探索go的并发奥义

GoLang中goroutine之间的通信(下) context的字面意思是上下文,是一个比较抽象的词,字面上理解就是上下层的传递,上会把内容传递给下,在go中程序单位一般为goroutine,这里的上下文便是在goroutine之间进行传递。 根据现实例子来讲,最常看到context的便是web端。一个网络请求request请求服务端,每一个request都会开启一个gorout...

GoLang中goroutine之间的通信(上)

并发编程基础,探索go的并发奥义

GoLang中goroutine之间的通信(上) 在go程序中,最被人所熟知的便是并发特性,一方面有goroutine这类二级线程,对这种不处于用户态的go程的支持,另一方面便是对并发编程的简便化,可以快捷稳定的写出支持并发的程序。 基础回顾 先回顾进程or线程之间的通信方式 inte-process communication(IPC) 其中Go支持的IP...

Git 代码回滚

回滚代码的正确姿势

并不适合阅读的个人文档。 git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。 reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认...