自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 问答 (2)
  • 收藏
  • 关注

原创 二分法

题目1:(leetcode. 4)寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:num...

2020-03-15 17:32:18 145

原创 C++内存之道 -- 1.构造析构时机

#include <iostream>#include <vector>#include <memory>using namespace std;class CObj { public: CObj() { cout << "CObj构造函数" << endl; } CObj(const ...

2020-03-05 16:39:28 180

原创 c++11 - - 智能指针与stl_erase

#include <stdlib.h>#include <memory>#include <iostream>#include <vector>using namespace std;class A { public: A() : i(100) { std::cout << ...

2019-12-11 23:48:34 342

原创 mysql事务

## mysql -- innodb存储引擎事务简化场景: 两个事务t1和t2需要同时操作某一行row【可能出现的问题】1. 脏读:事务可以读到其它事务未提交的值2. 不可重复读:同一事务内先后两次读到不同的值,由于在这个间隙中有其它事务进行了提交3. 幻读:先后两次结果集,多行或少行【四种隔离级别】1. 读未提交:存在上述全部3个问题2. 读已提交:...

2019-11-08 17:43:22 105

原创 cpp11智能指针

#include <memory>#include <iostream>using namespace std;class Obj_1{ public: int data; void print() { cout << "this is obj-1" << endl; } Obj_1(...

2019-10-23 18:24:13 183

原创 二叉树 - 序列化与反序列化

/*中序遍历结果 + 前序遍历结果 ==> 生成二叉树 *//*前: A BDE CF中: DBE A CF1. 根据前序遍历,确定根节点为A2. 在中序遍历结果里找到根节点A,A左边则为其左子树,右边则为其右子树 */#include <stdlib.h>#include <unistd.h>#include <string.h&...

2019-10-23 14:06:38 103

原创 动态规划算法 -- samples

动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。 动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题...

2019-10-16 15:16:34 167

转载 Google C++编程风格指南

一、背景每一个C++程序员都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则可在允许代码有效使用C++语言特性的同时使其易于管理。二、头文件2.1 #define保护目的:防止头文件被多重包含 原型:#ifndef ...

2019-10-15 09:55:54 628 1

原创 boost库

1. boost库编译安装tar -zxvf boost_1_71_0.tar.gzcd ./boost_1_71_0./bootstrap.sh #生成文件b2./b2 --help./b2 #编译,默认全部编译,可以加各种选项参数 --prefix=/usr/local #指定安装目录(默...

2019-10-14 14:12:37 145

原创 常见排序算法 -- 快速排序

#include <iostream>using namespace std;void qsort(int arr[], int left_idx, int right_idx){ if(left_idx >= right_idx){ return; } /* 调整数组 小于flag的元素,调整至左半部分 ...

2019-10-12 16:59:41 101

原创 常见排序算法 -- 归并排序

#include <iostream>#include <stdlib.h>using namespace std;//[left_idx, mid_idx], (mid_idx, right_idx]//mid_idx = left_idx + (right_idx - left_idx) / 2void merge(int* arr, int left...

2019-10-09 15:16:40 88

原创 常见排序算法 -- 堆排序 与 小顶堆大顶堆

大顶堆:完全二叉树,每个结点的值都大于或等于其左右孩子结点的值小顶堆:完全二叉树,每个结点的值都小于或等于其左右孩子结点的值#include <iostream>#include <string>#include <vector>#include <stdlib.h>using namespace std;//小顶堆clas...

2019-10-08 17:55:38 142

原创 网络协议

TCP/IP四层模型 OSI七层模型 数据格式 应用层 应用层 报文 表示层 会话层 传输层 传输层 段 网络层 网络层 包(分组) 链路层 数据链路层 帧 物理层 比特流 ...

2019-09-24 13:56:52 98

原创 常见排序算法概览

排序算法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 选择排序 SelectSort O(n^2) O(n^2) O(n^2) O(1) 不稳定 冒泡排序 BubbleSort O(n^2) O(n^2) O(n) O(1) 稳定 插入排序 InsertSort ...

2019-08-28 22:48:49 138

原创 网络编程问题记录

1. 服务进程kill之后,某些情况下会出现端口处于TIME_WAIT状态,不能立即重新bind int listenfd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in svraddr = {0}; svraddr.sin_family = AF_INET; svraddr.sin_port = ht...

2019-06-11 17:08:58 140

原创 Go/并发/goroutine

package mainimport ( "fmt" "runtime")//主协程结束,其它协程也会被终止func main(){ runtime.GOMAXPROCS(4) //设置运行程序的最大cpu核数 go func(){ for i := 0; i &lt; 3; i++{ fmt.Println("c++") ...

2018-12-03 22:54:30 127

原创 golang/redis/简单操作

# go-redis 简单示例package mainimport ("fmt""github.com/gomodule/redigo/redis")//go get -v github.com/gomodule/redigo/redisfunc main() { //连接redis conn,err := redis.Dial("tcp","192.168.56.10...

2018-12-03 00:50:25 221

原创 区块链/BlockChain+ProofOfWork

#区块的定义和操作#链的定义和操作#工作量证明//main.gopackage mainimport "fmt"func main(){ fmt.Println("=======================") bc := NewBlockChain() t1 := Transactions{[]byte("111"),[]byte("a send b 1...

2018-11-25 05:11:26 936

原创 接口性能压测

# 性能压测工具  siege#1 安装# su cd /usr/local/src/ wget http://download.joedog.org/siege/siege-3.0.8.tar.gz tar xzvf siege-3.0.8.tar.gz cd siege-3.0.8 ./configure make &amp;&...

2018-11-22 14:08:25 578

原创 Go/网络编程/Tcp-Ip-Socket

# 服务器package mainimport ( "fmt" "net" "strings")func main() { //监听 lisener,err := net.Listen("tcp","127.0.0.1:8888") defer lisener.Close() if err != nil{ fmt.Println(err) return }...

2018-11-21 01:53:29 500

原创 CentOS-7

#1. 替换镜像源[root@localhost yum.repos.d]# yum install wget[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.BAK[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.rep...

2018-11-18 21:30:25 127

原创 Go/文件io/文件读写

# 文件读写基本操作package mainimport ( "bufio" "fmt" "io" "os")func writeFile(path string){ //创建或截断打开文件 f,err := os.Create(path) if err != nil{ return } defer f.Close() f.WriteString("aa...

2018-11-17 23:35:10 1295

原创 Go/文本操作/Json

#Json编码解码package mainimport ( "encoding/json" "fmt")//通过结构体生成json串,结构体成员名首字母必须大写type Stu struct{ Name string //`json:"-"` //不会打印到屏幕 Age int `json:"age"` //二次编码,json串里,key为"age" Course...

2018-11-17 19:42:20 119

原创 Go/文本处理/正则表达式提取

package mainimport ( "fmt" "regexp")func test(){ s1 := `a\tb` s2 := `a\\tb` s3 := "a\tb" s4 := "a\\tb" fmt.Println(s1) //a\tb fmt.Println(s2) //a\\tb fmt.Println(s3) //a b fmt.Println(...

2018-11-17 17:25:54 8241

原创 Go/文本处理/字符串处理

# 字符串常用函数package mainimport ( "fmt" "strconv" "strings")func main() { //是否包含子串 fmt.Println(strings.Contains("hellogo","go")) //true //切片连成字符串 s := []string{"aa","bb",&qu

2018-11-17 16:23:06 562

原创 Go/异常处理

# error接口# panic()函数# recover()函数# defer 延迟调用,退出函数前调用package mainimport ( "errors" "fmt")//一般错误 error接口func testErr(a int) (c int, err error){ if(a == 0){ err = errors.New("errorer...

2018-11-17 15:36:07 142

原创 Go/面向对象特性/接口-多态

# 接口 interface接口只有方法声明,没有实现,没有数据字段接口可以匿名嵌入到其它接口或结构体中接口不能绑定方法实现package mainimport "fmt"//接口type Persion interface { sayHey() //方法声明}type Stu struct{ //Persion name string}//实现接口...

2018-11-17 12:59:29 124

原创 Go/面向对象特性/方法-封装

# 可以为任意自定义类型(结构体、基础数据类型)绑定方法,但不包括指针类型# func (t T) f(paras) (rets)     //接收者 参数 返回值# 方法总是绑定对象实例t,并隐式地将实例t作为第一实参# 方法中若不使用t,可以省略# t的类型可以是T或*T,但T不能是接口或指针# 不支持方法重载# 同一方法名绑定不同接收者类型,不视为重名packa...

2018-11-16 23:13:29 153

原创 Go/面向对象特性/匿名字段-继承

# 通过匿名字段实现继承特性package mainimport "fmt"func main() { type Persion struct{ name string age int } type Stu struct{ Persion //匿名字段 只有类型没用名字 no int socre int } var s Stu = Stu{Pe...

2018-11-16 22:15:09 171

原创 Go/复合数据类型/struct-结构体

# 结构体package mainimport "fmt"type Stu struct{ age int sex byte //字符型 name string}func main() { //结构体定义与初始化 //顺序初始化 每个成员都必须初始化 var s Stu = Stu{18,'m',"Lusa"} fmt.Println(s) //{18 ...

2018-11-16 20:51:23 466

原创 GoLang

# Go语言25个关键字包管理关键字:package  import变量与常量关键字:var  const函数关键字:func  return复合数据类型关键字:map  range自定义类型关键字:type  struct  interface流程控制关键字:if  else  switch  case  default  fallthrough  for contini...

2018-11-16 12:39:57 205

原创 Go/复合数据类型/map-字典

# map是一种键值对存取的复合数据类型package mainimport "fmt"func main() { //map 无序 键值唯一 //键值一般是基本数据类型(不能是切片等数据类型、不能是函数类型) //map 只有len() 没有cap() //声明定义一个map变量 var m map[int]string m1 := make(map[int]str...

2018-11-16 12:14:39 526

原创 c++ stl - erase()

## ::iterator it; erase(it); 删除容器里迭代器it当前所指向位置的元素,导致it成为野指针,使得it++操作存在异常# vector - erase //迭代器 for(size_t j = 0; j &lt; v_needqids.size(); ++j){ if(find(v_uqids.begin(...

2018-11-15 12:23:52 528 1

原创 Go/复合数据类型/切片-slice

##切片package mainimport ( "fmt" "math/rand" "time")func main() { //切片slice的创建 arr := [...]int{0,1,2,3,4,5} arr1 := []int{0,1,2,3,4,5} arr2 := make([]int,6,8) arr3 := make([]int,6) fmt....

2018-11-15 00:44:20 154

原创 Go/复合数据类型/数组

# 一维数组的定义与初始化func test(){ var a [5]int var a2 [5]int = [5]int{1,2,3,4,5} a3 := [5]int{1,2,3} a4 := [5]int{2:2,4:4} fmt.Println(a) fmt.Println(a2) fmt.Println(a3) fmt.Println(a4)}=====...

2018-11-14 22:29:28 224

原创 Go/函数/不定参数

## 接收用户传递参数package mainimport ( "fmt" "os")func main() { args := os.Args fmt.Printf("len(args):%d\n",len(args)) for _,v := range args { fmt.Println(v) }}# 不定参数package mainimpo...

2018-11-14 00:07:35 158

原创 Go/流程控制/defer-延迟调用

## defer延迟调用,函数结束前执行先进后出异常发生后,前面的defer语句依旧会执行常作 资源清理、异常处理package mainimport "fmt"func test(x int){ a := 1 / x a += a}func main(){ fmt.Println("1111111") test(0) fmt.Println("222...

2018-11-13 23:49:24 120

原创 Go/函数/匿名函数-闭包

## 匿名函数作为一个闭包,闭包以引用传递的方式捕获外部变量package mainimport "fmt"func test(){ a := 22 str := "go" //匿名函数,闭包 以引用传递方式捕获外部变量 func(){ a = 23 str = "gogo" fmt.Println(a,str) }() //直接调用匿名函数 fmt.Pr...

2018-11-13 23:26:25 213

原创 Go/函数/回调函数

## 回调函数package mainimport "fmt"type FuncType func (int,int) int//函数类型作为参数func callBack(a,b int, f FuncType) (c int){ c = f(a,b) return}func test(a,b int) int{ return a*b}func main()...

2018-11-13 22:42:18 234

原创 Go/函数/函数类型

## 函数作为一种数据类型package main/* #include &lt;stdio.h&gt; typedef int (*FuncType_C)(int,int); //c语言 函数类型 int test_C(int a,int b){ return a+b; } FuncType_C f_C = test_C; void test2_C(){ int ...

2018-11-13 22:28:03 143

空空如也

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

TA关注的人

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