自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(441)
  • 资源 (8)
  • 收藏
  • 关注

原创 告别360全家桶,安利一波电脑必备软件

欢迎关注我的微信公众号:CurryCoder的程序人生ps:以下所有软件安装包请在公众号后台回复关键字“软件”即可获得。1.浏览器类ChromeChrome是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括Webkit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。此外,Chrome浏览器支持很多插件,便于拓展你的浏览器功能(更多高级功能你懂的)。Chrome浏览器速度快,扩展多,功能强,兼容性好。缺点是内存使用过多,安装驱动级系统服务,强制自动更新。此

2020-06-11 11:28:20 1194 2

原创 个人微信公众号已开通,欢迎各位小伙伴关注

昨天刚刚把个人微信公众号(CurryCoder的程序人生)开通了,后期打算有时间会把公众号上的内容与简书同步更新。希望小伙伴们能够继续支持我,谢谢!!!!!

2020-05-27 14:10:37 100

原创 C++中的多态

1.Cpp中的多态多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。多态的实例如下: #include "iostream" using namespace std; class Shape{ protected: ...

2019-04-03 09:58:19 87

原创 C++中的重载、覆盖、隐藏对比

1.重载、覆盖、隐藏三者概念解释重载(overload):函数名相同,函数参数(参数个数、参数类型、返回值类型)不同,必须位于同一个域(类)中。覆盖(override): 函数名相同,函数参数(参数个数、参数类型、返回值类型)相同,分别位于派生类和基类中,virtual(虚函数)隐藏(hide):派生类中的函数隐藏了基类中的同名函数情形1: 函数名相同、 函数参数相同、 分别位于派生类...

2019-03-20 19:38:58 129

原创 Ubuntu16.04下配置最新Vs Code的C/C++开发环境

1. Vscode安装Visual studio code是微软发布的一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。安装方式是从VScode官网下载.deb文件,然后双击该文件会打开软件中心进行安装。安装完毕后即可打开VScode,主界面如下:2. Vscode环境配置(1)安装c/c++插件首先通过左边...

2019-03-10 14:35:22 1418

原创 差分算法原理及代码模板

一维差分算法1.给定原始数组a = {a[1]、a[2]、…、a[n]}2.目的:构造出数组b = {b[1]、b[2]、b[3]、…、b[n]},使得下面的条件成立:a[i] = b[1] + b[2] + … + b[i]。因此,数组b称为数组a的差分和,数组a称为数组b的前缀和。3.现在需求:将[l,r]区间中的数组元素a[i]均加上常数C,如果使用原始算法,则要扫描一下数组a,时间复杂度为O(n);如果使用差分算法则时间复杂度仅为O(1)。具体步骤如下:a.b[l] + C:当b[l]

2020-11-26 23:04:58 71

原创 前缀和算法原理及代码

一维前缀和算法a.原数组{a[1], a[2], a[3], …, a[n]},注意:数组下标从1开始,同时令S[0] = 0。b.前缀和S[i]:S[i] = a[1] + a[2] + … + a[i]Q1:S[i]如何求出?A1:for循环遍历一下原数组,其中S[i] = S[i-1] + a[i]Q2:S[i]的作用?A2:能够快速求出数组中任意一段范围内(如:[l, r])的和 ,即S[r] - S[l-1]#include <iostream>

2020-11-10 23:06:57 47

原创 高精度算法

四种类型高精度算法[仅对C++而言]1.A+B:两个大整数(A和B的位数为10^6)相加a.利用数组存储大整数:将大整数的每一位存在一个数组中,注意:数组的第0位应该存大整数的个位数,其余位依次类推。原因:考虑到两个大整数相加过程中会产生进位C,便于处理进位C。b.模拟人工加法过程:A[i] + B[i] + C#include <iostream>#include <vector>using namespace std;const int N = 1e6 + 1

2020-11-04 23:43:00 47

原创 整数二分查找原理及代码模板

1.整数二分算法原理ps:数组具有单调性,则一定可以使用整数二分算法;但是,能够使用整数二分算法的数组,数组未必具有单调性。整数二分算法的本质:给定一个区间,在区间中定义了某种性质。该性质在区间的右半区间是满足的,但在左半区间是不满足的。二分法的目的就是为了寻找满足某种性质的边界点。算法主要步骤:a.确定区间的中间点midb.根据实际问题编写check()函数,判断mid是否满足区间[l, r]的某种性质c.更新区间端点模板1图解:模板2图解:2.代码模板1// 根据实际

2020-10-29 23:32:30 31

原创 归并排序原理及代码模板

1.归并排序[基于分治思想]算法主要步骤:a.确定区间的分界点即区间[l, r]的中间位置:mid = l + r >> 1,分成左、右两边;b.递归排序左边、右边;c.将左、右两边有序的数组合二为一[重点];归并排序时间复杂度:nlogn,解释如下图所示:2.代码模板#include <iostream>using namespace std;const int N = 1000010;int q[N], tmp[N]; // tmp[N]用于存

2020-10-28 23:19:56 50

原创 快速排序原理及代码模板

1.快速排序[基于分治思想]算法主要步骤:a.确定分界点x:q[l]、q[(l+r)/2]、q[r]、随机选择一个数b.调整区间[重点]:(1).使得左半边区间的数都小于等于x(2).使得右半边区间的数都大于等于xc.递归:递归处理左、右两边区间双指针法实现快速排序:无需开辟额外空间注意:边界问题!2.代码模板#include <iostream>using namespace std;const int N = 1e6 + 10;int n;

2020-10-27 23:15:50 29

原创 Git命令大全

1.基本命令(1) .git隐藏目录用于区分普通目录还是git目录(2)origin是默认主机名(远程仓库),默认分支master。本地分支master和远程分支origin/master。(3)git remote -v:查看本地仓库所关联的远程仓库信息(4)git要求本地仓库关联的每个远程主机都必须指定一个主机名(默认是origin),主机名用于本地仓库识别自己所关联的主机,一个本地仓库可以关联任意多个主机。(5)git init:将当前目录变成一个本地仓库(6)git status:可以

2020-10-24 15:48:45 77

原创 go语言中的一等函数

package mainimport ( "fmt" "math/rand" "time")type floor float64func fakeSensor() floor { return floor(rand.Intn(151) + 150)}func realSensor() floor { return 0}func measureTemperature(samples int, sensor func() floor){ for i := 0; i &l

2020-10-18 20:48:55 65

原创 go语言中的方法

package mainimport "fmt"// 可以将方法与同包中声明的任何类型相关联,但不可以是int、float64等预声明的类型进行关联。type cell float64type floor float64func convertT(f floor) cell { return cell(f - 273.15)}// 将cell()方法与floor类型相关联func (f floor) cell() cell { return cell(f - 273.15)}

2020-10-18 20:48:23 33

原创 go语言中的函数

package mainimport "fmt"// 函数声明 // go在标准库文档中列出了标准库每个包中声明的函数 // 使用func关键字声明函数 // 函数声明的一般格式:func 函数名 (变量名 类型名) 返回值类型// 函数声明 // 在go语言中,大写字母开头的函数、变量或其他标识符都会被导出,对其它包也可用 // 小写字母开头的就不行!// 函数声明之多个参数 // func Unix(sec int64, nsec int64) Time// 函数声明

2020-10-18 11:23:53 27

原创 go语言中的类型转换

package mainimport ( "fmt" "math" "strconv")func main(){ // 类型不能混合使用 // 1.连接两个字符串,使用+运算符 countdown := "Launch in T minus " + "10 seconds." fmt.Println("countdown =",countdown) // 2.如果想连接字符串和数值,是会报错 // countup := "hello " + 111 + " world."

2020-10-18 11:23:22 35

原创 go语言中的多语言文本

package mainimport ( "fmt" "unicode/utf8")func main(){ // 声明字符串,以下三种方式为等价的 peace := "peace" // var peace = "peace" // ver peace string = "peace" fmt.Println(peace) var blank string // 字符串的零值 fmt.Println(blank) // 空字符串 // 字符串字面值与原始字符串字面值

2020-10-18 11:20:30 41

原创 go语言中的big包

package mainimport ( "fmt" "math/big")func main(){ // 数太大了怎么办? // 1.浮点类型可以存储非常大的数值,但精度不高 // 2.整型很精确,但取值范围有限 // 3.如果需要很大的数,而且要求精度很高,该怎么办?: // a.int64可以容纳很大的数,如果还不行,则: // b.uint64可以容纳更大的正数,如果还不行,则: // c.也可以凑合用浮点类型,但还有另一种方法:“使用big包”

2020-10-11 21:08:37 91

原创 go语言中的int类型

package mainimport ( "fmt" "math" "time")func main(){ /* go语言中的整数类型 */ // 1. go语言提供了10种整数类型 // a.不可以存小数部分 // b.范围有限 // c.通常根据数值范围来选择整数类型 // 2. 5种整数类型是有符号的 // a.能表示正数、0、负数 // 3. 5种整数类型是无符号的 // a.能表示正数、0 // 最常用的整数类型int,下面三个语句是等价的

2020-10-11 21:08:03 355

原创 go语言中的float类型

package mainimport ( "fmt" "math")func main(){ // 声明浮点类型变量 // 以下三种声明方式均是等价的 days := 3.1415 // var days = 3.1415 // var days float64 = 3.1415 // 只要数字含有小数部分,那么它的类型就是float64 fmt.Println("days =", days) // 如果你使用一个整数来初始化某个变量,那么你必须指定它的类型为float64,否

2020-10-11 21:07:26 151

原创 go语言中的输出语句

package mainimport "fmt"func main(){ fmt.Print("My weight on the surface of Mars is ") fmt.Print(149.0 * 0.3783) fmt.Print(" lbs, and I would be ") fmt.Print(41 * 365 / 687) fmt.Print(" years old.") fmt.Println() fmt.Println("My weight on the su

2020-10-08 21:29:45 121

原创 go语言中的选择与循环

package mainimport ( "fmt" "strings" "time")func main(){ // 布尔类型 // true和false是go语言中两个已经声明好的常量 // go语言只有true是真的,只有false是假的。和其他语言如js不同,js会将""这种字符串当作false,其他的字符串当作true // strings.Contains // 来自strings包的Contains()函数可以判断某个字符串是否包含另外一个字符串 fmt.

2020-10-08 21:29:11 42

原创 go语言中的变量与作用域

package mainimport ( "fmt" "math/rand")var era = "AD"func main(){ // 变量的作用域 // 当变量被声明以后,它就进入了作用域(变量就变得可见了) // 只有变量在作用域内,你就可以访问它 // 否则,访问它会报错 // 变量声明的位置,决定了它的作用域 // 作用域的好处 // 可以在不同的作用域内使用相同名称的变量名 // 在go语言中,作用域的范围就是{}之间的部分 var coun

2020-10-08 21:28:29 51

原创 【Windows系统】基于vscode搭建go语言开发环境

微信公众号:CurryCoder的程序人生怕什么真理无穷,进一寸有一寸的欢喜1.golang安装包下载与安装关于vscode的下载,请参见历史文章Ubuntu16.04下搭建vscode的C++开发环境,本文就不再赘述啦~下面直接下载golang安装包,下载地址放文章的最后部分了。打开链接后,我们可以看到go语言的吉祥物一只可爱的小地鼠。点击“Download Go”按钮即可进入下载页面,选择对应操作系统的安装包。注:本文是以Windonws系统为例,Go语言的安装包版本为13.0。注.

2020-09-20 21:47:40 179

原创 Python实现按序合并多个pdf文件

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.整体实现步骤在日常办公中,我们可能会有一个需求,需要将多个pdf文件合并成一个文件。例如:需要将每个章节的pdf文件学习资料合并成一个pdf文件,便于我们进行学习资料的归档与整理。如何才能合并多个pdf文件呢?我查了一下网上现有的资料(详见参考资料1),发现python中有一个第三方库PyPDF2用起来真香。但是,网上现有的程序仅仅实现多个pdf文件,并未实现按序合并。下面谈谈我的整体实现步

2020-08-30 20:31:33 84

原创 生活不易,且行且珍惜

博客停更了一个多月了,抱歉了各位。最近刚刚入职,好多东西都需要学习博客这边没有空闲时间经营。都是为了生活,天天996。没入职之前幻想可以安安稳稳的养老,利用空闲时间做自己喜欢的事情。毕竟,我也是闲不住的人。发展发展个人爱好,学习一个新的技能也挺好。可惜的是,我想多啦。入职一个多月了,接触的ICT行业并不是互联网行业,好多东西都不熟悉,说是驱动开发,实际上我个人感觉还是嵌入式开发。其实,我一点也不感兴趣。但是没办法,生活不就是这样吗,逼着你做自己不喜欢的事情。最近也想过跳槽换工作,可是刚刚毕业也没相关工.

2020-08-21 22:04:54 185

原创 Linux系统函数之IO函数

技术交流 QQ 群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.标准C库IO函数工作流程IO缓冲区的作用?大部分硬盘都是机械硬盘,读取寻道时间和写入寻道时间都是在毫秒级ms;相对来说,内存读写速度都非常块,因为内存属于电子设备,读写速度是纳秒级ns;两者之间的读写速度相差一百万倍;2.标准C库函数与Linux系统函数之间的关系3.虚拟地址空间程序运行以后,首先,每个进程都会创建各自独立的虚拟地址空间。接着,CPU执行代码

2020-07-04 22:21:05 168

原创 58 Node.js中操作mongoDB数据库

技术交流 QQ 群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder 的程序人生1.数据库概述及环境搭建1.1 为什么要使用数据库动态网站中的数据都是存储在数据库中。数据库可以用来持久存储客户端通过表单收集的用户信息。数据库软件本身可以对数据进行更高效的管理。1.2 什么是数据库数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。它是独立于语言之外的软件,可以通过 API 去操作它。常见的数据库软件有:mysql、mongoDB、oracle

2020-07-02 21:54:23 123

转载 一杯茶的功夫,掌握Git常用命令(转载)

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.创建与合并分支(1).从master分支创建dev分支,并切换到dev分支git checkout mastergit checkout -b dev其中,git checkout -b dev等价于git branck devgit checkout dev(2).查看本地当前的分支,分支前面带*表示当前分支,剩下的分支表示本地有的其他分支git branch

2020-06-24 23:43:44 121

原创 57 Node.js异步编程

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.Node.js异步编程1.1 Node.js中的异步API如果异步API后面的代码执行依赖当前异步API的执行结果,但实际上后续代码在执行的时候,异步API还没有返回结果,这个问题该怎么解决呢?如下所示:fs.readFile('./demo.txt',(err, result) => {});console.log('文件读取结果');需求:依次读取A文件、B文件、C

2020-06-24 11:42:53 90

原创 56 Node.js服务端开发入门

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.服务器端基本概念1.1 网站的组成网站应用程序主要分为两大部分:客户端和服务器端。客户端:在浏览器中运行的部分,就是用户看到并与之进行交互的界面程序。使用HTML、CSS、JavaScript构建。服务器端:在服务器中运行的部分,负责存储数据和处理应用逻辑。1.2 Node网站服务器能够提供网站访问服务的机器就是网站服务器,它能够接收客户端的请求,能够对请求作出对应的响应。

2020-06-23 23:19:17 145

原创 55 前端构建工具Gulp

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.第三方模块GulpGulp:基于node平台开发的前端构建工具。前端构建工具:将机械化操作编写成任务,想要执行机械化操作时,执行一个命令任务就可以自动执行了。用机器代替手工,提高开发效率。2.Gulp能做什么项目上线,将HTML、CSS、JS文件压缩合并;语法转换(ES6、less…);公共文件抽离;修改文件浏览器自动刷新;3.Gulp使用使用npm install

2020-06-22 16:24:28 92

原创 54 Node.js快速入门

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.Node开发概述1.1 为什么要学习服务器端开发基础能够与后端程序员更加紧密的配合;网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax)扩展知识视野,能够站在更高的角度审视整个项目1.2 服务器端开发要做哪些事实现网站的业务逻辑数据的增删改查1.3 为什么选择Node使用JavaScript语法开发后端应用一些公司要求前端工程师掌握Node开发生态系统活跃,

2020-06-20 22:47:28 90

原创 ES6新增语法与内置对象扩展

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.什么是ES6ES的全称是ECMAScript,它是由ECMA国际标准化组织制定的一项脚本语言的标准化规范。ES6实际上是一个泛指,泛指ES2015及之后的版本。2.为什么使用ES6?每一次标准的诞生都意味着语言的完整,功能的加强。JavaScript语言本身也有一些令人不满意的地方:变量提升特性增加了程序运行时的不可预测性。语法过于松散,实现相同的功能,不同的人可能会写出不同

2020-06-18 23:12:06 84

原创 02 小程序入门实战

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.创建项目和目录文件结构小程序包含一个描述整体程序的app和多个描述各自页面的page。一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:一个小程序页面由四个文件组成,如下图所示:注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。由于一个小程序可能有多个页面,所以在根目录下创建pages文件夹。假设小程序仅有一个详情页面about,因此为了便

2020-06-18 17:09:15 94

原创 01 小程序开发入门

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.什么是小程序小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题,应用将无处不在,随时可用,但又无需安装卸载。2.小程序的特点速度快:无需下载安装,加载速度快于HTML5,微信登录,随时可用。无需适配:一次开发,多端兼容,免除了对各种手机机型(Android和ios)

2020-06-18 17:08:45 99

原创 52 JavaScript中的正则表达式

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.什么是正则表达式正则表达是(regular expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。正则表达式通常被用于检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或下划线,昵称输入框中只能输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中一些敏感词(替换),或从字符串中获取我们想要的特定部分

2020-06-17 22:49:18 92

原创 51 jQuery插件库

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.jQuery插件jQuery功能比较有限,想要更复杂的特效功能,可以借助于jQuery插件完成。注意:这些插件也是依赖于jQuery来完成的,所以必须要先引入jQuery文件,因此也称为jQuery插件。jQuery插件常用网站:jQuery插件库:http://www.jq22.com/jQuery之家[推荐]: http://www.htmleaf.com/2.jQue

2020-06-17 20:55:41 99

原创 50 jQuery拷贝对象与多库共存

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.jQuery拷贝对象如果想要把某个对象拷贝(合并)给另外一个对象使用,此时使用$.extend()方法。语法:$.extend([deep], target, object1, [objectN])deep:如果为true表示深拷贝,反之为浅拷贝。target:要拷贝的目标对象。object1:待拷贝的第一个对象。浅拷贝把被拷贝对象中的复杂数据类型的地址拷贝给目标对象,修改目标

2020-06-16 22:36:55 95

原创 49 jQuery事件

技术交流QQ群:1027579432,欢迎你的加入!欢迎关注我的微信公众号:CurryCoder的程序人生1.jQuery事件注册单个事件注册语法:element.事件(function(){})// 例如 $("div").click(function(){ // 事件处理程序 })其他事件与原生JS基本一致。例如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll等。2.jQuery事件处理2.1 事件

2020-06-15 16:24:22 200

机器人控制系统的设计与MATLAB仿真程序数据和源码

机器人控制系统的设计与MATLAB仿真程序书籍和源程序,

2019-01-09

NLP最新书籍资料大全

CS224课程笔记,各种外国大佬写的2018最新书籍和NLP领域经典教材!

2019-01-09

统计学习方法全书python代码实现

李航老师蓝皮书统计学习方法全书最新python代码实现,欢迎下载

2019-01-14

深度学习干货资料

含有优秀资料的大礼包,欢迎下载!

2019-01-22

kaggle入门实战

深度学习kaggle入门指导.

2019-03-26

机器学习与深度学习公开数据集

机器学习、深度学习、NLP中常用的数据集

2019-05-28

google plugins资源大放送

google常用插件资源集合,欢迎下载。

2019-01-15

Linux常见命令总结

Linux所有常见命令总结,齐全,欢迎下载.

2019-01-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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