自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快乐星球

学习感悟 、脚步

  • 博客(172)
  • 收藏
  • 关注

原创 C++总结

好了 以后复习,就来这里看吧创作不易,老铁留个赞呗~~

2020-04-20 17:31:12 1385

原创 基于Huffman 和 LZ77的文件压缩(五)收尾

GZIP :对LZ77 的压缩结果再压缩,效率就不怎么好了。能否采用Huff曼的方式直接对LZ77结果再压缩?**可以 ,但压缩率可能不是很好;1 Huffman缺陷 :需要创建哈夫曼树,可能会很大2 LZ77的标记信息也会参与Huffman压缩,因此,影响压缩率。3 树大的话,内存可能压力比较大。假设文件中含有200个不同种类的字节,那么 总节点将是叶子结点200 +临时父亲...

2020-03-27 20:44:18 1834

原创 基于Huffman 和LZ77的压缩(二)Huffman压缩的实现

遇到的问题:出现问题 : 将出现0次的节点也加入到了Huffman树中:没有意义呀原因:将创建Huffman树期间要将出现0次的结点过滤掉问题:写入文件时,要是一个字节写哈夫曼编码时,将编码分为两半,会影响吗?问题 解压缩呢? 只拿着压缩数据没法解压缩呀-------么有Huffman 树呀压缩文件:需要:1原文件后缀,以后好还原2 编码的行数。3 (编码)字符及出现次数...

2020-03-21 11:47:35 2085

原创 基于Huffman和LZ77的压缩(四)LZ77压缩原理分析

上一篇分析中,我们遇到了两个问题:问题1: 64K的哈希表必然存在哈希冲突问题2: 大于64K的文件仍无法进行压缩下面我们来接着探索分析:为什么给32K的查找缓冲区Head?为什么给32K个位置,理论计算为 2^24个才能计算完这些组合呀,那这样必然存在哈希冲突,那么LZ77怎么解决冲突?我们先不考虑大于64K的文件将哈希表分为2部分 Prev和HeadPrev空间专门解决哈希冲突...

2020-03-20 10:46:35 1990

原创 基于Huffman和LZ77压缩(三)LZ77思路分析

LZ77: 基于重复语句的压缩1 什么是LZ771977年两个以色列人提出的基于重复语句上的通用的压缩算法--------将重复语句替换成更短的<长度, 距离, 下个字符串首字母>对的方式。 真正的LZ77用的是一个三元组(长度距离对 + 下一个语句的首字母 )为什么叫基LZ77算法的压缩?上边介绍了 原LZ77 的处理方式:<长度, 距离, 下个字符串首字母&g...

2020-03-20 09:24:52 2501

原创 基于Huffman和LZ77的文件压缩(一)Huffman压缩

1 为什么要压缩?1 文件太大,压缩可以节省空间2 提高文件在网络上的传输效率3 压缩可以形成一定程度上的加密。(即防止被恶意抓包,对方不知道你的压缩算法)2 文件压缩的分类1 有损压缩2 无损压缩无损压缩: 通过解压之后 能形成和源代码一木一样的压缩方式。有损: 解压缩之后和源文件格式不完全相同,但基本不影响。例如 视频的清晰度。压缩 :通过一些算法来达到目的...

2020-03-19 20:08:19 2464

原创 TCP三次握手四次挥手都做了什么?

三次握手三次握手和四次挥手都位于传输层1 建立连接调用socket,创建fd调用connect,向服务器发起连接请求connect会发出SYN段,并阻塞等待服务器应答(第一次)服务器收到客户端的SYN,会应答一个确认收到即SYN+ACK段来表示 “同意建立连接”(第二次)客户端收到服务器的SYN+ACK后,会从connect()返回,同时向服务器应答一个ACK...

2020-02-04 21:48:58 1472

原创 腾讯云2024内推

2024-03-21 11:45:03 398

原创 腾讯内推码

点击开始投递https://join.qq.com/judgetalent.html?rec_key=naKPbk7_PyRAmJdLkv1Z3LEl53mm1cJRNLrt6YmQmmc/

2022-05-10 17:02:32 493

原创 2022校招百度内推码 oi4rhj

百度2022校招提前批( 网申:https://talent.baidu.com/external/baidu/campus.html#/campus?source=NEITUI&recommendCode=oi4rhj )内推码 oi4rhj

2021-07-09 12:44:54 1233 3

原创 CSP并发模型+work-stealing算法

CSP并发模型work-stealing算法

2020-12-09 11:06:12 316

原创 LRU Cache + 并查集

什么是LRU CacheLRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。什么是 Cache?狭义的Cache指的是位于CPU和主存间的快速RAM,广义上的Cache指的是位于速度相差较大的两种 硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之间有Cache, 内存与硬盘 之间也有Cache,乃至在硬盘与网络之间也有某种意义上的Cache── 称为Internet临时文件夹或 网络内容缓存等。为什么要用LRU ?Cache的

2020-08-16 12:16:44 204

原创 linux四剑客awk 、sed、grep 、find

find(查找文件或者目录)find path -name “targetName”find path -name “targetName” -type f(文件)find path -name “targetName” -type d(目录)find path -name “targetName” -type f - perm 644(权限, 文件默认666 目录777 ,但Linux会默认减去022)find path -name “targetName” -type f -size

2020-08-13 19:15:39 220

原创 Go-小项目

功能 描述 :功能需求 1 实现核心库文件: 每个文件名为拼音本身.dat, 内容为对应的汉字 和 汉字的频次, 每个占一行。需求分析1 :我们可以手动建立 库文件, 然后将手动给文件中设置一些汉字, 默认频次设置为1 , 最大不超过10(效率显得有点低)注意: 文件中的空行可以跳过, 文件中如果某行出现的格式问题,可以忽略该行现在库文件 创建好了, 我们可以模拟根据拼音查找汉字了。创建库文件内容的时候 : 为了保险起见,1 采用 strings.Join(slice, substr) 将

2020-07-03 09:38:19 661 2

原创 golang入门day7(CSP 并发模型 + 反射)

什么是CSP并发模型:严格的说CSP 应该是一门形式语言: 用于描述并发系统的互动模式。CSP 中文名称叫 通信顺序进程, 是一个 很强大的并发编程模型,是Go语言成功的中重要因素 : go语言并未完全使用CSP模型, 而仅仅使用了 process 和 channel两个概念process : 在go语言中 即 goroutinego语言使程序员开发时 更轻松, 而不用考虑 线程数 ,线程 开销,线程调度 等底层问题,goroutine天生就为我们实现好了。goroutine 和channel

2020-06-28 19:12:48 392

原创 golang入门day6 (通道 + select)

什么是通道 channel?”不要通过共享内存来通信 ,而应该通过通信来共享内存“ : 这句话什么意思呢?举个例子????: 如果要把数据传递个另外一个协程, 可以先将数据封装成对象, 然后把对象的指针放进channel 中, 那么目标协程可以从channel中拿到对象指针, 并处理其指向的内存对象。类似于通信的管道, 虽然有传统共享数据同步机制,但go语言强烈建议我们使用 Channel 通道来实现goroutine 之间的通信通道就是goroutine 之间的通道, 它可以让gor

2020-06-27 23:24:37 266

原创 golang的入门day5(并发编程 + WaitGroup + 互斥锁 + )

Go是一个 并发语言: 同时处理多个事情的能力称为并发性(同一时间点只能做一件任务), 而并行性(你边跑,边听歌)。并行不一定快: 因为并行运行组件之间需要通信的,这个通信的成本很高,而并发通信的成本就很低了。所以 线程间通信成本远远低于进程间通信。进程间通信(并行,成本高)线程间通信 (并发: 成本低)协程 : Coroutine协程 又称为 轻线程协程可以开几百万个而线程 进程 不会超过一万个Go语言的并发: 协程(Goroutine)来实现看下 macOS 下的 进程线程

2020-06-27 20:34:21 428

原创 golang入门day5 断点续传

Seek() 设置文件指针偏移file.Seek 函数 设置文件指针的位置 第一个参数 : 相对偏移 第二个参数 相对哪个位置? 0 :start 1 current 2 endfile.Seek(2,0) // 文件开始相对向后偏移 2 个字节断点续传目的: 1 缩短文件传输耗时2 异常中断,怎样继续从传输断掉的位置继续3 传输文件的时候,支持暂停和恢复吗?即使暂停和恢复操作分别发生在进程被杀前后?原理 :1 创建一个 临时文件,时刻保存 已经复制好的数据量 即可。

2020-06-27 09:35:48 608

原创 golang入门day5 (package + I/O)

包的创建方式:main 包 是应用程序的入口包, 其他的包不能使用另外: 包内也可以嵌套定义包,访问不同包下的函数需要导入包, 访问同一个包下不同文件的函数,不需要导入包。点操作:包名前加上. 那么可以不用写具体包名。import .“fmt”Println() 代替了 fmt.println()但还是别这样用 ,当代码量大了,那么就会引起不必要的误会包 起别名:import p1 "package1" 那么p1就是package1的别名导入 别的包下的模块的使用..

2020-06-25 16:56:26 263 1

原创 golang入门day4(panic 和 recover)

errorgo 不存在 try catch 机制 , go语言引入 error 接口类型 作为错误的标准处理模式, 因此 error 在 go语言中也是一种数据类型。类似于 int floaterror 类型变量的定义:方式一: err1 := errors.New(“自己创建着玩”)方式二: err2 :=fmt.Errorf(“错误的信息码:%d”, 100)panic 和 recovergolang中引入两个内置函数 Panic 和 recover 来触发和终止异常处理流程,

2020-06-23 20:26:07 175

原创 golang入门day3 (pointer + interface + type)

指针pointerpointer 存储了一个变量内存的地址package mainimport "fmt"func main(){ a:=1 var p1 *int = &a println(p1) var p2 *int //nil 空指针 fmt.Println(p2) println(p2)}指针的赋值 , 指针指向的内容 也可以用 C语言方式进行改变同样 *int **int ***int …数组指针: 指向数组的指针指针数组: 存放指

2020-06-23 15:17:50 792

原创 Go:使用 fmt.Println() 编译后比 println() 的体积大?

最近我看到 很多代码 都喜欢使用 fmt.Println() 来进行输出但是 Go 内置的一个 println() 却没什么人使用println():用于 输出基础类型 的函数,因为是 内置 函数,所以不需要 导包fmt.Println():用于 输出 基础类型 和 复合类型 的函数,隶属于 fmt 库简单例子对比:编译:go build -ldflags="-w -s"println() 的例子:println(`Hellow World`)编译后:760 KBfmt.Pri

2020-06-23 10:47:03 366

原创 golang入门day3 函数(式编程)

函数 : Go 语言 用 func 关键字来定义1 go 程序中 至少有一个 函数 main函数2 Go语言 函数不能重载语法格式 func FuncName( 参数.... ) (返回值...){//ToDo..... return a,b...}package mainimport "fmt"//函数可以定义不使用func A(){ fmt.Println("haha")}//函数名不能冲突: 即 Go语言 函数不能重载func A(a int8)

2020-06-22 18:11:50 616

原创 golang 入门day2(复合类型 + string)

数组的访问// 下划线代表用来 占位 index , 我们不用for _, v := range arr {//todo}数组的 赋值 是 浅拷贝(值拷贝)实质上会开辟一份空间,然后拷贝一份 ,不会影响原来数组的判等a==b 相等的前提是 : 长度 ,容量 ,每个值 还有数据类型完全相同 才相等数组的排序...

2020-06-22 09:47:05 504

原创 Golang入门 day1

Go 和 C之父: K—汤普森Go 性能比 C 和 C++更好 :Go优势: 数据处理能力 和 高并发能力学习go 语言 要遵守规矩哦eg ://规矩就是规矩 : go缩紧采用行尾风格 for i:=0; i<10; i++{ fmt.println("hello world");}...

2020-06-20 22:53:29 503

原创 深信服三面/hr面 总结

三面是个美丽的小姐姐, 说话很温柔,没问技术1 大学都做过哪些项目, 在项目中担任着什么样的角色。2 会python 吗 ? 嗯 ,学习过一段时间3 回顾一下大学三年吧4 有什么遗憾的?给你一次机会,你选择重新来过那件事情?5 学习成绩怎么样 ,专业排名。6 为什么有不挂科就好的心态?(哎,自己挖的坑,自己填呗, 实话实说: 1 : 方向不同+有的课本上的知识都淘汰掉了, 2 好多课程老师说没工作经验 是理解不了的 )7 平时看书吗?看啥书,说一说8 平时逛技术社区

2020-06-11 18:54:54 7623 8

原创 百度一面 / 二面 总结

一面 :下午两点开始 时长 80min首先自我介绍1 项目: 项目背景、技术 、架构 、为什么做这两个项目、项目实现了什么? 项目问的比较细:问了好多,优化呀,改进呀,借助第三方模块干了啥? 具体、具体、再具体, 当时怎么想的、怎么设计的、进行测试没? 能实现多强的功能?主要讲解了 在线评测 这个项目,对于文件压缩,问的大多是思路,跟实现方法。2 问我哈希, 哈希冲突, 哈希的底层实现, 哈希冲突的处理办法, 有几种方法,每种方法具体怎么处理,什么是哈希负载因子, 何时扩容、怎么扩容3

2020-06-11 12:10:29 4802 2

原创 深信服二面总结

开场 简单自我介绍1 : 平时渎书吗? 读什么书? 哪里让你感触最深?我大概聊了下侯捷老师的STL源码剖析2 sizeof(类) 大小 包含虚函数时呢? 两个虚函数时呢?每个对象都有一个虚函数指针吗? 每个对象都有一个虚函数吗?3 多态 : 面试官描述, 让你判断会不会形成多态4 问我什么是纯虚函数?纯虚函数的作用,具有纯虚函数的类能实例化出对象吗? 为什么?5问我什么是接口? 我扯的多了,扯到接口继承,和实现继承了。6 容器? 都知道哪些容器?平时都用哪些容器?

2020-06-06 18:15:25 2876

原创 ## leetcode 40. 组合总和 II 回溯法

leetCode40. 组合总和 II给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。注意加粗的 两个条件 : 意味着 : 不能重复, 那么要递归 随时注意下标开始的位置, 和判重class Solution {private: vector<vector<

2020-06-02 09:15:10 233

原创 深信服一面

一 :项目 (文件压缩):用到了什么算法(LZ77 哈夫曼 哈希) ,详细讲解二: 项目有没有考虑其他算法三 什么是哈希? 哈希冲突, 解决方式分几种?扩容不扩容? ,那种好,怎么实现?实现原理, 负载因子 ,扩容时机? 实现过没有?四: sizeof strlen 区别五 : 继承 多态, 多态问的特别细 。虚函数, 纯虚函数都得说六: 数组 和链表的 区别 ?七 : 什么函数 可以是虚函数? 虚函数有什么好处 ,谁不能是虚函数? 为什么不能? inline 函

2020-05-30 13:04:59 474

原创 力扣:DP正方形面积

221 题 : 全1 正方形的最大面积分析 : DP思想:首j先确定边长:边长受短边影响 ,所以dp[i][j]= min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) +1 获取最小边同时为了少遍历一次 ,直接保存可以满足正方形的最大边maxSide = max(side, dp[i][j])class Solution {public: int maximalSquare(vector<vector<char>>

2020-05-29 14:38:13 232

原创 C++11在STL容器中 加入了emplace_back():

C++11emplace_back():如果要将一个临时变量push到容器的末尾,push_back()需要先构造临时对象,再将这个对象拷贝到容器的末尾,而emplace_back()则直接在容器的末尾构造对象,这样就省去了拷贝的过程。同样还有 emplace_front —> [push_front] emplace --> [insert]上代码:#include <iostream>#include <cstring>#include &lt

2020-05-29 14:05:07 454

原创 递归与回溯算法整理(二)

这是leetcode 上的一个经典的习题: 也是我面试伴鱼时碰到的一个问题(汗~ 当初没好好刷题)问题描述 :求岛屿数量https://leetcode-cn.com/problems/number-of-islands/给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。其实这是一个 典型的递归回溯算法。 为什么这么说呢?我们的目的就.

2020-05-20 21:39:46 378

原创 数组相关算法整理(一)

先从基础 :二分查找开始吧 。1 二分查找别看一个 二分查找: 他也有很多要注意的点 。区间开闭?相应边界怎么控制?二分查找思想1946 年提出 , 知道1962年才出现一个真正没有bug的二分查找法。//二分查找 前提: 原数组有序template <typename T>int binarySearch(T arr[], int n, T target){ int l =0; int r = n-1;//闭区间 while(l <= r)//闭区间,相等时元素

2020-05-20 17:36:20 255

原创 贪心算法整理

下边先从几个题目开始体会分发饼干:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。class Solution {public: //贪心 int findContentChi

2020-05-20 11:46:46 454

原创 递归与回溯算法整理(一)

递归 与 回溯 回溯其实是一种暴力解决问题的方式, 对于问题规模大于20以上的数据,个人计算机将不能处理。问题分析 :对于 0 1 * # 不用考虑对于 2~ 9 每个数字都有3中情况。 那么对于一个数字串 ,将面临多种组合现象 。我们可以 画树形图。树形图会很容易发现这是一个递归问题。对于每个问题,又形成一个和原问题类似的问题。(不存在重叠)那么 我们可以递归来处理class Solution {public: vector<string> table

2020-05-18 18:52:15 470

原创 动态规划整理(二)

01 变种: 分割等和子集题目描述: 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200分析 自顶向下分析:我们先得到一半的值是多少 。 在进行填充 。与01 背包不同的是: 不受权重影响,但却必须得填满背包从 n个数字里取出和为 C的情况 —> 从n-1个里面取出和为C 或者 从n-1 个数字里取出和为C-w[n]的数字 + n[C]那么 对于子问题 又形成

2020-05-18 18:48:12 270

原创 动态规划整理(一)

(一) 硬币组合问题-动态规划(二) 切钢条问题-动态规划(三)字符串的最长公共子序列-动态规划(四)整数拆分(五)01背包问题

2020-05-17 20:15:24 1030

原创 linux面试热点命令

操作系统的作用: 管理硬件和系统调用(目的是管理硬件设备)。1 管理执行硬件2 封装程序,成调用操作系统: 三巨头 :Windows 第一大 : 但 安全性低 不稳定MacOS 非常适合程序员 : 基于LinuxLinux : 小众操作系统: 安全 免费 稳定 Linux 服务器市场占有率高。内核版本 : 是系统的心脏,是运行程序和管理磁盘的等核心程序。发行版本:通过内核提供的系统调用来操作和管理硬件。文件系统 :硬盘分盘 :单用户操作系统: XP同一时间只能有一

2020-05-16 09:45:47 167

原创 腾讯一面总结

一首先: 介绍自我介绍问我打什么游戏游戏~~~三岁打网游, 问我玩啥手游~~突然就不紧张了haha1 最小堆,最小堆插入,最小堆性质2 STL unordered_map 底层实现3 哈希 /哈希冲突/解决方式4 什么是红黑树: 性质/怎么插入,插入是怎么寻找位置?怎么旋转?分几种情况旋转?给你一种情况让你旋转。一个坑:给了我一个不用旋转的,让我旋转,我看了看,这肯得看情况,很可能不需要旋转,或者看具情况吧,, 他说哈哈哈,嗯对,不用旋转的。5 两条单链表找交点,问你能想出几种

2020-05-15 17:17:02 283

空空如也

空空如也

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

TA关注的人

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