自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 git使用总结

简明指南创建仓库创建文件夹,然后执行git init创建新的git仓库git clone /path/to/repository创建本地仓库的克隆git clone username@host:/path/to/repository创建远程仓库的克隆工作流git本地仓库由工作目录、暂存区、HEAD组成工作目录 :项目的实际文件夹暂存区: Index,缓存区域,临时保存项目的...

2020-05-07 16:52:03 361

原创 消息队列之nsq

nsq简介特点消息默认不做持久化,但是可以配置每条消息最少传递一次消息不能保证有序nsq组件nsqd:负责消息接收、保存以及发送消息给消费者的进程nsqlookupd :负责维护所有nsqd的状态,提供服务发现的进程nsqadmin:web管理平台,实时监控集群以及执行各种管理任务nsq相关概念Topic:对应一个具体的队列Channel:一个消费者对应一个Cha...

2020-04-30 21:05:44 211

原创 数据格式之protobuf

简介二进制数据交换格式基于idl语言自动生成对应的数据结构代码protobuf开发流程搭建环境编写IDL文件(.proto文件)根据IDL文件生成对应语言的数据结构代码使用相应的工具包完成序列化和反序列化环境搭建安装protoc下载protoc-3.6.1-osx-x86_64.zip文件并解压cd protoc-3.6.1-osx-x86_64cp -r i...

2020-04-30 18:04:37 426

原创 day30

func isMatch(s string, p string) bool { dp := make([][]bool,len(s)+1) for i:= 0;i<len(s)+1;i++{ dp[i] = make([]bool,len(p)+1) } dp[0][0] = true for i:= 1;i<len(s)+1;...

2020-03-30 21:59:28 87

原创 day29

func canCompleteCircuit(gas []int, cost []int) int { all,start,have,tmp := 0,0,0,0 for i := 0;i<len(gas);i++{ tmp = gas[i]-cost[i] have += tmp if tmp<0&&...

2020-03-29 21:10:19 58

原创 day28

func canJump(nums []int) bool { i,j := len(nums)-2,0 for i>=0 { if nums[i]>j{ i-- j = 0 } else { i-- j++ } }...

2020-03-28 22:24:23 68

原创 day27

func findContentChildren(g []int, s []int) int { mg := NewMinHeapByList(g) ms := NewMinHeapByList(s) var res int gi,si := mg.Delete(),ms.Delete() for { if gi<=si { ...

2020-03-27 22:36:48 76

原创 day26

func isSubsequence(s string, t string) bool { ptr := 0 for i:=0;i<len(t)&&ptr<len(s);i++ { if s[ptr] == t[i] { ptr++ } } return ptr==len(s)}...

2020-03-26 19:39:02 62

原创 day25

func maxProfit(prices []int) int { var left,right,res int for left<len(prices)&&right<len(prices) { for left<len(prices)-1&&prices[left]>prices[left+1] {...

2020-03-25 20:53:19 82

原创 day24

var last,first, second *TreeNodefunc recoverTree(root *TreeNode) { last, first, second = nil, nil, nil dfs(root) first.Val, second.Val = second.Val, first.Val}func dfs(root *TreeNode) { if r...

2020-03-24 23:22:33 61

原创 day23

func generateTrees(n int) []*TreeNode { if n==0{ return []*TreeNode{} } return MygenerateTrees(1,n)}func MygenerateTrees(start,end int) []*TreeNode { if start>end { ...

2020-03-23 22:43:17 83

原创 day22

func inorderTraversal(root *TreeNode) []int { if root == nil { return nil } left := inorderTraversal(root.Left) arr := append(left,root.Val) right := inorderTraversal(ro...

2020-03-22 22:31:51 63

原创 day21

func maxDepth(root *TreeNode) int { if root == nil { return 0 } Left := maxDepth(root.Left) Right := maxDepth(root.Right) if Left>Right { return Left+1 } e...

2020-03-21 21:58:53 70

原创 day20

func isSymmetric(root *TreeNode) bool { return MyisSymmetric(root,root)}func MyisSymmetric(node1,node2 *TreeNode) bool { if node1 == nil || node2 == nil { if node1 == nil &&amp...

2020-03-20 22:22:07 87

原创 day19

func isSameTree(p *TreeNode, q *TreeNode) bool { if p != nil && q != nil { left := isSameTree(p.Left,q.Left) right := isSameTree(p.Right,q.Right) return left&&...

2020-03-19 20:28:20 77

原创 day18

func isMatch(s string, p string) bool { slen, plen := len(s), len(p) if slen == 0 { if plen%2 != 0 { return false } for j := 1; j < plen; j += 2 { if p[j] != '*' { return false ...

2020-03-18 23:59:08 68

原创 day17

func longestPalindrome(s string) string { if len(s) <= 1 { return s } str := make([]byte,len(s)*2+1) maxLen,ptr := 0,0 for i:=0;i<len(s);i++ { str[i*2+1] = s...

2020-03-17 18:53:07 81

原创 day16

func lengthOfLongestSubstring(s string) int { start,length,i := 0,0,0 mp := make(map[byte]int) for ;i<len(s);i++{ if index,ok := mp[s[i]];ok&&index>=start { if i-start>=lengt...

2020-03-17 01:11:34 56

原创 Go深入--基本数据结构的实现

string字符串在Go语言内存模型中用一个2字长的数据结构表示,它包含一个指向字符串存储数据的指针和一个长度数据string类型是不可变的,对于多字符串共享同一个存储数据是安全的。字符串切分可以在不涉及内存分配或复制操作完成,这使得字符串切分的效率等同于传递下标。silce一个slice是一个数组某个部分的引用。它是一个包含3个域的结构体:指向slice中第一个元素的指针...

2020-03-16 00:47:56 155

原创 day15

func isValid(s string) bool { stack := NewStack() for _,v := range s { switch v { case '(': stack.Push('(') case '[': stack.Push('[') case '{': stack.Push('{'...

2020-03-15 22:39:13 115

原创 Go踩坑总结

在函数外面定义变量时 要用var 不能用:=byte8位 rune32位(字符类型)complex64(复数,实部32位,虚部32位)go中没有隐式类型转换 类型转换都是强制的float 类型四舍五入为int: int((a*10+5)/10)//正确const a = 3var b float64 = 2c := a+b //错误var a = 3var b flo...

2020-03-15 22:03:16 254

原创 Java总结--常用类库

String、StringBuffer、StringBuilderString:是一个final类,任何赋值对String的改变,都会产生新的String对象的生成StringBuffer:可变类,任何对它所指代的字符串的改变都不会产生新的对象,线程安全的。StringBuilder:可变类,线性不安全的,不支持并发操作,不适合多线程中使用,但其在单线程中的性能比StringB...

2020-03-15 21:22:03 153

原创 Java总结--多线程与并发1

总览Java中的进程和线程运行一个程序会产生一个进程,进程包含至少一个线程(主线程)每个进程对应一个JVM实例,多个线程共享JVM里的堆主线程可以创建子线程,主线程原则上要后于子线程完成执行(各种关闭动作在主线程中执行)java线程(Thread)Thread的start()和run()调用start()会创建一个新的子进程并启动,run()只是Threa对象的普通方...

2020-03-15 13:09:11 126

原创 计算机网络那些事儿

网络体系结构比较物理层信道奈氏准则波特和比特信噪比香浓公式数据链路层数据链路(传输的是数据帧)传输问题封装成帧用特殊的字符进行帧定界,举例:透明传输定义:无论发送什么样的比特组合的数据,这些数据都能够按照原样通过这个数据链路层。举例:解决:差错控制传输过程中可能存在数据出错(0变成1,1变成0)crc校验(循环...

2020-03-14 22:13:37 221 1

原创 day14

func longestCommonPrefix(strs []string) string { if len(strs) == 0{ return "" } ptr := 0 for ptr<len(strs[0]) { char := strs[0][ptr] for _,v := range strs{ ...

2020-03-14 21:19:08 54

原创 什么,辛辛苦苦写的文章访问量这么低?没关系我自己来

package mainimport ( "fmt" "math/rand" "net/http" "sync" "time")var count = 0func Get() { count++ if count >= 20 { time.Sleep(time.Minute*20) count = 0 } fmt.Println("1") urls...

2020-03-13 15:00:06 173

原创 数据结构的那些事儿

哨兵法查找建立哨兵,将结束条件和“找到”条件统一,从而减少比较的操作

2020-03-13 13:05:06 496

原创 day13

func romanToInt(s string) int { mp := map[byte]int { 'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000, 'I'+'V':4, 'I...

2020-03-12 22:06:35 51

原创 day12

/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func mergeKLists(lists []*ListNode) *ListNode { if (len(lists)==0) { retur...

2020-03-12 21:29:10 78

原创 Redis总结

总览主流应用架构注:熔断为当存储器宕机后,直接将缓存器中的结果返回缓存中间件Memcache :实现方式类似Hash支持简单的数据类型不支持数据持久化存储没有主从同步机制不支持分片Redis:数据类型丰富(内置5种数据结构)支持数据磁盘持久化存储拥有主从同步机制支持分片Redis基础和使用基础数据类型(5个)String:二进制安全...

2020-03-12 17:44:03 469

原创 Java总结--jvm之内存模型

JAVA总览平台无关性gc语言特性(泛型、反射、lambda表达式)面向对象类库异常处理

2020-03-11 17:37:27 523

原创 day11

func removeNthFromEnd(head *ListNode, n int) *ListNode { ptr,end := head,head for i:=0;i<n;i++{ end = end.Next } if end == nil { return head.Next } for end.N...

2020-03-10 23:30:20 74

原创 subject6

题目我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?比如n=3时,23的矩形块有3种覆盖方法:思路对于一个长方体,只有两种放法:竖着放横着放所组成的大长方体宽度是一定的故,从左边开始放的话,有两种情况:竖着放一个横着放两个结论:fn = f(n-1) + f(n-2)代码...

2020-03-10 17:49:58 109

原创 Linux总结

Linux体系结构分为用户态(用户上层活动)和内核态内核一段管理计算机硬件设备的程序系统调用内核的访问接口,是不能在简化的操作(类似原子操作)公共函数库对系统调用的封装shell命令解释器 可编程 (交互时,一般一个shell对应一个终端)echo $SHELL 查看当前shell版本cat /etc/shells 查看支持的shell版本chs...

2020-03-10 17:04:04 551

原创 day10

func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode { if l1 == nil { return l2 } var ( flag bool res = l1 ptr = l1 ) for l2 != nil && l1 != nil { l1.Val += l2.Val if fl...

2020-03-10 15:41:03 56

原创 Mysql总结 --3

MyISAM与InnoDB锁的区别MyISAM默认是表级锁,不支持行级锁InnoDB 默认是行级锁,也支持表级锁MyISAMMyISAM不支持事务查询时,会自动给表上读锁(表级锁跟索引无关)增删改时,会自动给表加上写锁显示加/释放锁lock tables 表名 read | write; unlock tables显示给select语句加写锁select * from...

2020-03-10 13:47:17 558

原创 subject5

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路从台阶考虑:最后一个台阶肯定会被跳到,其他的每个台阶都有 跳到 未跳到 两种状态代码javapublic int JumpFloorII(int target) { return (int)Math.pow(2,target-1); }...

2020-03-10 10:30:05 82

原创 subject4

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路如果第一次跳一个台阶,则还需跳f(n-1)次若一次跳两个台阶,则还需跳f(n-2)次f(1) = 1 f(2) = 2代码java/** *递归调用 */public class Solution { public int JumpFl...

2020-03-10 10:18:33 114

原创 day9

快慢指针//v1func hasCycle(head *ListNode) bool { if head == nil { return false } slow,fast := head,head.Next for fast != nil { if slow == fast { return true } if fast.Next == nil { ...

2020-03-09 22:27:30 186

原创 Mysql总结 --2

密集索引与稀疏索引密集索引:会为每一个key都建立索引密集索引会存储记录的所有字段的值密集索引决定了表的物理排列顺序(一个表只能创建一个密集索引)稀疏索引只为部分key创建索引要求key有序查询时,若找不到key,则去与key最近的比key小的索引中遍历,直到找到稀疏索引只存放记录的索引字段和记录的地址Mysql中的索引InnoDB若存在主键,则...

2020-03-09 22:02:22 432

空空如也

空空如也

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

TA关注的人

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