自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

原创 【精品计划 附录2】- 算法分析

数学模型 1. 近似 2. 增长数量级 3. 内循环 4. 成本模型 注意事项 1. 大常数 2. 缓存 3. 对最坏情况下的性能的保证 4. 随机化算法 5. 均摊分析 ThreeSum 1. ThreeSumSlow 2. ThreeSumBinarySearch 3. Thre...

2020-05-31 17:06:26 10960 78

原创 cpp知识汇总(1) 指针vs引用、static、const

引用和指针的区别? 指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:不能有引用的值不能为NULL) 有多级指针,但是没有多级引用,只能有一级引用。 指针和引...

2020-05-31 15:05:34 2202 43

转载 互联网30年,泡沫如梦

人人都说互联网改变世界,这话没错。 但我认为互联网改变的方式,是泡沫。 资金,资源,人才因为一堆概念聚在一起,形成一个又一个的泡沫,然后泡沫破裂,大部分人失败,少数能够留下来的,会成为下一个世界的基石。 然后再有新的泡沫产生。 互联网的历史,就是泡沫浮起和破灭的历史。 ...

2020-05-31 13:48:46 2483 22

转载 【中国互联网江湖30年历史】再无风清扬,再有少年郎

0 马云退了。 在萧山奥体中心,无数阿里人的祝福中,流着眼泪,结束了自己在阿里的最后一天。 从此互联网江湖再无风清扬,反而多了一个叫做马云的乡村教师。 他临别一挥手,似乎带走了中国互联网的一个时代。 20年浮沉,都付笑谈中。 30年的中国互联网发展史,或许到了一...

2020-05-31 12:04:02 7178 50

原创 leetcode359. 日志速率限制器

请你设计一个日志系统,可以流式接收日志以及它的时间戳。 该日志会被打印出来,需要满足一个条件:当且仅当日志内容在过去的 10 秒钟内没有被打印过。 给你一条日志的内容和它的时间戳(粒度为秒级),如果这条日志在给定的时间戳应该被打印出来,则返回true,否则请返回false。 要注意的是,可能...

2020-05-30 17:44:57 8983 84

原创 leetcode412. Fizz Buzz

写一个程序,输出从 1 到 n 数字的字符串表示。 1. 如果n是3的倍数,输出“Fizz”; 2. 如果n是5的倍数,输出“Buzz”; 3.如果n同时是3和5的倍数,输出 “FizzBuzz”。 示例: n = 15, 返回: [ "1", "...

2020-05-30 17:33:43 8481 53

转载 leetcode258. 各位相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于2 是一位数,所以返回 2。 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? ...

2020-05-30 17:13:03 1770 6

原创 leetcode193. 有效电话号码 正则了解一下

给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。 你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或xxx-xxx-xxxx。(x 表示一个数字) 你也可以假设每行前后没有多余的空格字符。...

2020-05-30 17:11:00 407 0

原创 leetcode369. 给单链表加一

用一个 非空 单链表来表示一个非负整数,然后将这个整数加一。 你可以假设这个整数除了 0 本身,没有任何前导的 0。 这个整数的各个数位按照 高位在链表头部、低位在链表尾部的顺序排列。 示例: 输入: [1,2,3] 输出: [1,2,4] 思路: help():计算本位的数字,然后返...

2020-05-30 14:21:50 466 0

原创 leetcode557. 反转字符串中的单词 III python,处理字符串的神!

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" ...

2020-05-28 23:43:26 10073 97

原创 【精品计划 附录1】那些必须知道的神级算法大盘点
原力计划

第一节 1.1bogo排序 Bogo排序(Bogo-sort),又被称为猴子排序,是一种恶搞排序算法。 将元素随机打乱,然后检查其是否符合排列顺序,若否,则继续进行随机打乱,继续检查结果,直到符合排列顺序。 Bogo排序的最坏时间复杂度为O(∞),一辈子也不能输出排序结果,平均时间复杂度为O...

2020-05-25 08:48:38 19454 156

原创 c++ STL迭代器实例

1、vector #include <iostream> #include <vector> using namespace std; int main(int argc, char* argv[]) { // Create and populate the...

2020-05-22 09:58:01 1783 33

原创 go语言快速刷《程序员面试金典》(3)

编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。 示例: 输入: head = 3->5->8->...

2020-05-18 22:44:17 5829 53

原创 go语言快速刷《程序员面试金典》(2)

字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。 示例1 输入:s1 = "waterbottle", s2 = "erbottlewat" 输出:True...

2020-05-18 20:02:44 9795 75

原创 go语言快速刷《程序员面试金典》(1)

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 一个数组统计是否有 func isUnique(astr string) bool { var arr[26] int; for _,ch:=range astr{ num:=ch-'a&#...

2020-05-18 19:21:33 5351 42

原创 go语言一天入门(下)

结构体 和c一样 package main import "fmt" type Books struct { title string author string subject string book_id int } func main...

2020-05-18 17:02:04 8822 30

原创 go语言一天入门(上)

Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。 声明变量的一般形式是使用 var 关键字:var name type Go和许多编程语言不同,它在声明变量时将变量的类型放名称后。这样做的好处就是可以避免像C语言中那样含糊不清的声明形式,...

2020-05-18 16:08:55 11977 56

原创 C++ 多态和虚函数

虚函数实现多态 #include <iostream> using namespace std; //基类People class People{ public: virtual void display(); //声明为虚函数 }; void People::disp...

2020-05-09 12:53:37 1047 1

转载 Kafka深度解析

原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。 本文转发自技术世界,原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介   Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时...

2020-05-09 11:05:19 2498 1

原创 git/github使用完整教程(2)分支

分支 首先,我们创建dev分支,然后切换到dev分支: $ git checkout -b dev Switched to a new branch 'dev' git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch...

2020-05-08 22:04:04 8604 88

原创 git/github使用完整教程(1)基础

安装git 在Linux上安装Git 首先输入git,看看系统有没有安装Git: $ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get...

2020-05-08 22:00:00 20198 123

原创 C++ STL 线性容器的用法

vector vector 是顺序容器的一种,是可变长的动态数组,支持随机访问迭代器,所有stl算法都能对 vector 进行操作。 vector 容器在实现时,动态分配的存储空间一般都大于存放元素所需的空间。例如,哪怕容器中只有一个元素,也会分配 32 个元素的存储空间。这样做的好处是,在尾部...

2020-05-08 14:55:26 3531 40

原创 C++ STL与迭代器

将容器类模板实例化时,会指明容器中存放的元素是什么类型的:可以存放基本类型的变量,也可以存放对象。 对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品。 STL 中的许多算法(即函数模板),如排序、查找等算法,在执行过程中会对容器中的元素进行比较。这些算法在比较元素是否相等时...

2020-05-08 13:05:49 2428 11

原创 C++继承详解

废话不多说直接上代码 class 派生类名:[继承方式] 基类名{ 派生类新增加的成员 }; 继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected(受保护的)。此项是可选项,如果不写,默认为 private(成员变量和成员函...

2020-05-08 00:55:09 2205 0

原创 C++类和对象详解

创建对象 两种创建对象的方式:一种是在栈上创建,形式和定义普通变量类似;另外一种是在堆上使用 new 关键字创建,必须要用一个指针指向它,读者要记得 delete 掉不再使用的对象。 通过对象名字访问成员使用点号.,通过对象指针访问成员使用箭头->,这和结构体非常类似。 成员变量和函数 ...

2020-05-08 00:43:54 1643 0

原创 leetcode912. 排序数组 有范围的排序统统用桶排序

给你一个整数数组nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 <= nums.length <= ...

2020-05-07 21:23:09 1274 2

原创 leetcode1103. 分糖果 II 该模拟就模拟,别老想着优化

排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n颗糖果。 然后,我们再回到队伍的起点,给第一个小朋友 n+ 1 颗糖果,第二个小朋友 n+...

2020-05-07 21:18:27 506 0

原创 C++ new和delete

在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示: int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间 free(p); //释放内存 在cpp中,这两个函数仍然可以使用,但是...

2020-05-07 20:23:14 1347 0

原创 C++std命名空间和头文件详解

一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。 例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整...

2020-05-07 20:16:44 2222 0

原创 什么是编译器?(程序是怎么跑起来的)

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有 .exe 和 .com(其中 .exe 比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,...

2020-05-07 19:51:36 5906 74

原创 解决VS'scanf':this function or variable may be unsafe.`(VS安全函数问题)

在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有_s后缀的安全函数,如下图所示: 什么是安全函数(safe func...

2020-05-07 19:43:47 377 1

原创 Linux GCC简明教程(编写c语言程序)

市面上常见的 Linux 都是发行版本,典型的 Linux 发行版包含了 Linux 内核、桌面环境(例如 GNOME、KDE、Unity 等)和各种常用的必备工具(例如 Shell、GCC、VIM、Firefox 等),国内使用较多的是 CentOS、Ubuntu(乌班图)、Debian、Red...

2020-05-07 19:35:34 438 20

原创 (图文详细)如何使用Code::Blocks运行c/cpp文件?

1) 新建源文件 打开 CodeBlocks ,在上方菜单栏中选择 “文件 --> 新建 --> 空白文件”,如下图所示: 或者直接按下Ctrl + Shift + N组合键,都会新建一个空白的源文件,如下图所示: 在空白源文件中输入代码: 在上方菜单栏中选择 “文...

2020-05-07 19:30:18 1717 34

原创 (详细图解)VS2017安装教程

VS 2017 版本同 15 版一样,细分为三个版本,分别是: 社区版(Community):免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用。 企业版:为正规企业量身定做,能够提供点对点的解决方案,充分满足企业的需求。企业版官方售价 2999美元/年 或者...

2020-05-07 19:12:41 1435 20

原创 leetcode914. 卡牌分组

给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有X张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回true。 示例 1: 输入:[1,2,3,4,4,3,2,1] 输出:t...

2020-05-07 17:19:37 1194 0

原创 leetcode892. 三维形体的表面积

在N*N的网格上,我们放置一些1 * 1 * 1的立方体。 每个值v = grid[i][j]表示v个正方体叠放在对应单元格(i, j)上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:10 示例 2: 输入:[[1,2],[3,4]] 输出:34 示例 3: 输入...

2020-05-07 17:08:00 3165 1

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