leetcode_1. 两数之和

两数之和 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 ...

2019/10/01 · 2 分钟 · 682 字 · Aris

Golang_5_数据

五、数据 5.1 字符串 默认值为 ""而不是nil 换行字符串使用 `,前置缩进空格也属于字符串内容 1 2 3 4 5 6 7 8 func main() { s := `line\r\n, line 2` fmt.Println(s) } // 输出: // line\r\n, // line 2 支持字符串间的比较 允许以索引号访问字节数组,但不能获取元素地址 分配超大字符串 ==92== 5.2 数组 定义方式: ...

2019/10/01 · 7 分钟 · 3401 字 · Aris

leetcode_15. 三数之和

三数之和 题目 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 ...

2019/10/01 · 2 分钟 · 583 字 · Aris

Golang_4_函数

四、函数 4.1 定义 使用 func 定义函数,特性如下: 无须前置声明 不支持同名函数重载 不支持命名嵌套 nested – ? 不支持默认参数 不支持定长变参 ==支持多返回值== 支持命名返回值 支持匿名函数和闭包 函数属于第一类对象,具备相同签名(参数和返回值一样)的视为同一类型 ...

2019/09/30 · 7 分钟 · 3111 字 · Aris

leetcode_105. 从前序与中序遍历序列构造二叉树 & 106

105. 从前序与中序遍历序列构造二叉树 描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: ...

2019/09/25 · 2 分钟 · 860 字 · Aris

Golang_3_表达式

三、表达式 3.1 保留字 25个关键字 3.2 运算符 乘幂和绝对值,对应的是 math库 里的Pow和Abs函数 优先级 从高到低: 1 2 3 4 5 * / % << >> & &^ + - | ^ == != < <= > >= && || 相同优先级从左到右 ...

2019/09/20 · 4 分钟 · 1891 字 · Aris

Golang_2_类型

二、类型 2.1 变量 静态类型语言,Go变量有固定的数据类型。==只能改变变量值,无法改变类型。== 类型转换或指针操作,可以用不同的方式修改变量值,但是并不意味改变了变量类型 ...

2019/09/15 · 7 分钟 · 3057 字 · Aris

数据结构

查找 折半查找 复杂度:O(logn) 对象:排序的数组 内容: 设置高低指针 中间开始,如果值相等则结束 值不相等,高低指针向中间迫近 指针相遇,结束 实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 func BinarySearch(arr []int, goal int) int { // 取高低索引 low, high := 0, len(arr)-1 // 指针未相遇的时候循环 for low <= high { mid := low + (high-low)>>1 midV := arr[mid] // 符合条件,返回索引 if midV == goal { return mid } // 不符合条件,高低指针向中间迫近 if midV < goal { low = mid + 1 } else { high = mid - 1 } } return -1 } 排序 快速排序 x s ...

2019/09/15 · 1 分钟 · 201 字 · Aris

Golang_1_概述

书籍: 环境:MacOS + Goland 学习方式:看书、实现、记录Markdown 一、概述 1.1 特征 语法简单:类C,简洁->Python 并发模型:运行时用Goroutine运行一切,用协程的方式处理并发单元,运行时又作了深度优化;搭配channel,实现了CSP模型 垃圾回收: 静态链接:编译后一个可执行文件,无需附加仍何东西就能部署 标准库: 工具链: 1.2 简介 第一个Go程序 1 2 3 4 5 6 // test.go package main func main() { print("hello world") } 以.go为文件扩展名 不需要分号 ; 一定要有入口函数 main,无参数,==且必须放在main包中??== 删除未使用的导入,否则会报错 test.go 和 main.go test.go,里面写 package main,直接运行,控制台不输出,需要 go run test.go main.go,里面写 package main,直接运行输出 变量 使用 var 定义变量,数据类型划分明确,适合跨平台。赋值的时候,var可以省略 ...

2019/09/05 · 1 分钟 · 500 字 · Aris

数据库MySQL

常问问题: 可能会手撕数据库语句,一般是查询,这个看你运气了 一些关键字 四个特性,三个“读”(脏读、幻读、不可重复读)、四个隔离级别、乐观悲观锁、表锁行锁之类的 索引是什么、创建索引原则、索引类型 数据库引擎、底层(B+树)及好处 其余的自己看下面的,多理解几遍就能讲出来了 另外还可能要去了解下主从数据库(读写分离)、分库分表、平滑扩容 相关的大致流程,我下面没写 知识内容 InnoDB和MySAM InnoDB和MySAM 操作性: InnoDB具有事务,支持四个事务隔离级别。 适用于大量INSERT或UPDATE操作。 不支持全文索引,新版本支持。 支持外键 MyISAM管理非事务表 它提供高速存储和检索,以及全文搜索能力。 如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择 不支持事务、外键 存储: MyISAM在磁盘上存储成三个文件。表定义 .frm,数据文件.MYD, 索引文件.MYI。跨平台转移麻烦 InnoDB:空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小 索引: InnoDB(索引组织表):能缓存索引,也能缓存数据,必须得有主键 MyISAM(堆组织表):只能缓存索引。非聚类 InnoDB 在做SELECT的时候,要维护缓存数据和索引和其余的,慢一些。MyISAM只缓存索引块 MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。 B+树搜索算法搜索索引-取出data值-以此为地址读取数据记录 主索引要求key是唯一的,而辅助索引的key可以重复 InnoDB也使用B+Tree作为索引结构,数据文件本身就是索引文件。 叶节点data域就是数据记录,称之聚类索引 本身要按主键聚类,所以必须要主键(设置自增主键),没有的话分裂维持特性会十分低效。没指定的话会自动选择合适的或自动生成一个隐含字段。长度为6的长整型 辅助索引data存储的主键值 索引 为了 加快对数据表中的检索而创建的分布存储的数据结构 ...

2019/07/17 · 11 分钟 · 5371 字 · Aris

操作系统

面试CS基础——操作系统笔记 一、操作系统概述 操作系统四个特性 并发:同一段时间内多个程序执行。并行(同一时刻多个事件)和并发(同一个时间段多个事件) 并发:同一时间段运行多个程序,操作系统通过进程和线程实现 并行:同一时刻运行多个指令,需要硬件支持,流水线、多核、分布式 共享:系统资源可以被内存中的多个并发执行的进程共用 互斥共享(临界资源,比如打印机)和同时共享 虚拟:通过 时分复用(多道程序技术 分时系统)和空分复用(虚拟内存)技术把一个物理实体虚拟为多个实体 时分复用:多进程在一个处理器并发执行,让每个进程轮流占有处理器,用小时间片快速切换 空分复用:虚拟内存,物理内存抽象为地址空间。 地址空间的页不需要全部在物理内存中,若使用到 不在物理内存 的页时,执行页面置换算法,把页置换到内存中 异步:进程是走走停停的方式执行的,以一种不可预知的速度推进 操作系统主要功能 进程管理:进程控制、进程同步、进程通信、死锁处理、处理机调度 内存管理:内存分配、地址映射、内存保护和共享、虚拟内存 文件管理:存储空间、目录、读写管理和保护 设备管理:处理用户的IO请求、缓冲管理、设备分配、设备管理等 中断和轮询 轮询 早期计算机系统对 I/O 设备的管理方式。 ...

2019/07/15 · 14 分钟 · 6885 字 · Aris

计算机网络

计算机网络 OSI模型 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的 传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠与不可靠的传输,传输层的错误检测,流量控制等 网络层(包):提供逻辑地址(IP)、选择最佳路径,数据从源端到目的端的传输 数据链路层(帧):将上层数据封装成帧,用 MAC 地址访问媒介,错误检与修正 物理层(比特流):设备之间比特流的传输,物理接口,电气特性等 在TCP/IP五层中,123层对应应用层 ...

2019/07/05 · 23 分钟 · 11491 字 · Aris

Welcome

New blog first commit.

2018/09/08 · 1 分钟 · 196 字 · Aris