自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 资源 (1)
  • 收藏
  • 关注

原创 ZMQ Router与Dealer端的消息结构

ZMQ Router与Dealer消息结构

2022-10-12 11:52:36 477 1

原创 机器学习(一)线性回归

监督学习:(又叫回归问题),给出数据集,来判断某个数据是某种情况的概率。回归是指出我们的目标是预测一个连续的输出值。分类问题是预测一个离散值的输出。无监督学习:数据集内的数据含义不明确,会将数据分为不同的聚类(聚类算法)。可用于:1.一个客户集,自动划分客户群。2.facebook好友分组。3.垃圾邮件分类。线性回归:线性回归函数: hθ(x) =θ0 +θ1x...

2019-11-05 22:54:38 243

原创 自顶向下的计算机网络 应用层

网络应用程序体系结构大概是两种:1.客户-服务器体系结构2.对等(P2P)体系结构客户-服务器体系结构:有一个打开的主机称作服务器,一直响应其他称为客户的主机的请求。注意:客户之间是不能直接进行通信的。 服务器具有固定的,周知的地址(IP地址)。常常会出现一台单独的服务器跟不上所有客户请求的情况,为此,配备大量主机的数据中心常被用于创建强大的虚拟服务器P2P...

2019-10-17 23:13:58 198

转载 new与malloc区别

博客转载:https://blog.csdn.net/z735640642/article/details/88047938

2019-10-10 23:35:07 143

原创 #ifndef与#endif与Static

#ifndef与#endif#ifndef A#define A......#endif在同一个文件中只能讲同一个头文件包含一次。使用这种技术为了将文件内容包含在#ifndef中就是说如果编译器第一次碰到A的定义,则会查看ifndef到endif之间的内容,并读取A定义这一行如果在同一个文件中遇到包含该文件的代码,则直接跳到endif后面的一行上。注意:这种方...

2019-10-09 22:52:56 318

原创 STL迭代器异常 map,set的erase()和insert()操作

我们都知道在STL中有迭代器,但是erase()和insert()操作会使迭代器异常erase()会删除迭代器例如:set<int>st;set<int>::iterator it = st.begin()for(it;it!=st.end();it++){ erase(*it);}我们通常会这样来删除set中的元素,但是这样删除的话,会把...

2019-10-08 23:17:00 675

原创 继承与派生

class TablePlayers{private: string firstname; string lastname; bool hasTable;public: TablePlayers(const string &fn = "none", const string &ln = "none", bool ht = false); void name()co...

2019-10-02 23:28:05 213

转载 KCP协议及源码 (游戏使用KCP协议)

https://blog.csdn.net/yongkai0214/article/details/85156452https://blog.csdn.net/yongkai0214/article/details/85212831

2019-09-24 22:26:51 1260

原创 C++类,重载,构造等

OOP特性:抽象,封装和数据隐藏,多态,继承,代码的可重用性函数重载(函数多态):设计一系列的函数完成相同的工作或者说可以使用多个同名的函数函数重载的关键是:参数列表(函数特征标)类:class Stock{private: char company[30]; int shares; double share_val; double total_val; void ...

2019-09-23 23:20:22 252

原创 C++中的引用和const

引用(&)引用是将一个变量声明为另一个变量的别名int rats;int &rodents = rats;引用必须在声明变量时就进行初始化,而不能像指针那样,先声明,后初始化#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;int main(){ //fr...

2019-09-20 19:29:44 223

原创 背包问题 DP

4种写法:背包0-1 #include <iostream> using namespace std;int w[101] = {0}, c[101] = {0}, dp[101][101] = {0}; int main(){ int n, v; cin >> n >> v; for(int i = 1; i <= n; i...

2019-08-08 19:43:46 177

原创 洛谷 P2672 推销员 贪心模拟

一道贪心模拟,稍微有点意思。不是特别难想到首先存下X=1 时候的最远距离,及2*dis+value。记录此时的边界pos接着拿取花费最大的点,并判断在pos左边还是右边,左边的话+value,右边的话还需要加上路之间的差代码:#pragma GCC optimize(2)#include<stdio.h>#include<algorithm>#inc...

2019-08-04 19:59:38 237

原创 洛谷P1003 铺地毯 贪心模拟

题目链接:https://www.luogu.org/problem/P1003简单的贪心模拟结构体存地毯的编号及两点坐标,从1开始扫面,判断这个点是否在地毯上或内部即可因为顺序输入,所以最后一个符合条件的地毯一定是最上面的代码:#pragma GCC optimize(2)#include<stdio.h>#include<algorithm&g...

2019-08-04 19:52:35 270

原创 快速排序

写一个快排的内部实现代码及简单应用。方便以后查询或者其他#include<bits/stdc++.h>#include<queue> #include<vector> using namespace std;#define MAXN 500010int a[MAXN] = { 1, 8, 6, 5, 4, 9, 7, 2, 3, 2...

2019-08-02 19:37:55 155

原创 归并排序

闲着无事,重新复习了一下归并排序。总体上也就是二分+合并的过程,在合并的过程中排序即可。想看的话,这篇博客有详细的图文解释(不过是Java的):https://www.jianshu.com/p/33cffa1ce613自己用C写了一个归并的例子,直接放代码:#include<bits/stdc++.h>using namespace std;const int...

2019-07-09 17:51:31 169

原创 新人入职第三周 (周记)

今天521,作为加班狗我还在公司加班,今天算是比较闲的一天吧,今天刚接第二个项目。犹记得上周四晚上,作为我第一个项目的最后一天,由于自己是在太菜,拖累几个同事加班到10点半。上班之后才发现,其实上学还是挺好的!!!!!上班之前,我可以在宿舍玩手机,玩电脑,手机一天充电能充三回,上班之后,手机每天回家都有一半多的电,还包括午休和晚上吃饭时间玩的。硬生生的可以说把手机戒掉了很大一部分。现在...

2019-05-21 20:54:20 838 3

原创 Leetcode 128. 最长连续序列 DP

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为O(n)。示例:输入:[100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是[1, 2, 3, 4]。它的长度为 4。两种方法,一种map,一种set。map注意除重。class Solution {public: int longestConsecu...

2019-04-08 23:01:31 169

原创 Leetcode 300. 最长上升子序列 DP

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入:[10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是4说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为O(n2) 。进阶:你能将算法的时间复杂度降低到O(nlogn...

2019-04-08 23:00:16 157

原创 Leetcode 328. 奇偶链表 思维

给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5-&gt...

2019-04-08 22:57:48 114

原创 Leetcode 141. 环形链表 思维

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos ...

2019-04-08 22:56:20 135

原创 Leetcode 124. 二叉树中的最大路径和 DP

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 20...

2019-04-08 22:54:10 178

原创 Leetcode 237. 删除链表中的节点 思维

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9....

2019-04-02 22:08:31 133

原创 Leetcode 206. 反转链表 思维

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL两种方法,迭代法和递归法迭代法代码:/** * Definition for singly-linked list. * struct ListNode { * int val; *...

2019-04-02 22:06:59 127

原创 Leetcode 315. 计算右侧小于当前元素的个数 思维

给定一个整数数组nums,按要求返回一个新数组counts。数组counts有该性质:counts[i]的值是nums[i]右侧小于nums[i]的元素的数量。示例:输入: [5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1).2 的右侧仅有 1 个更小的元素 (1).6 的右侧有 1 个更小的元素...

2019-04-02 22:04:22 261

原创 int型,char型,void型指针的区别

深信服的面试官问了这个问题,也不说清楚是哪方面的区别,哎,可能凉凉,下面说一下这个东西。首先,int*和char*是可以++操作的,void*不可以void*没有类型,也就不存在sizeof()。int*和char*可以进行++操作,int*的操作是向后移动4个字节的位置,char是一个字节。void*,cout<<*void<<endl是不正确的,输出vo...

2019-04-01 21:00:07 2364

原创 计算机网络基础(六) 应用层

应用层的许多协议都是基于客户-服务器方式。注意:客户与服务器是指通信中所涉及的两个应用进程域名系统DNSDNS是因特网使用的命名系统,用来便于把机器名字转换为IP地址。机器处理IP数据报时,使用IP地址而不用域名,是因为:IP地址长度是固定的32位(IPv6是128位),域名长度不固定。DNS后来被设计成联机分布式数据库系统。DNS使大多数域名在本地解析,因此效率比较高。因为分...

2019-03-26 21:36:49 282

原创 Leetcode 324. 摆动排序 II

给定一个无序的数组nums,将它重新排列成nums[0] < nums[1] > nums[2] < nums[3]...的顺序。示例1:输入: nums = [1, 5, 1, 1, 6, 4]输出: 一个可能的答案是[1, 4, 1, 5, 1, 6]示例 2:输入: nums = [1, 3, 2, 2, 3, 1]...

2019-03-24 22:38:13 277

原创 Leetcode 162. 寻找峰值 二分

峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其中nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。示例 1:输入: nums =[1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返...

2019-03-24 22:36:32 183

原创 Leetcode 287. 寻找重复数 思维+二分

给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入:[1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的O(1) 的空间。...

2019-03-24 22:35:08 194

原创 Leetcode 172. 阶乘后的零 思维

给定一个整数n,返回n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释:3! = 6, 尾数中没有零。示例2:输入: 5输出: 1解释:5! = 120, 尾数中有 1 个零.说明:你算法的时间复杂度应为O(logn)。5!=120,只有阶乘含有5的因子才会出现0。所以判断有几个这个数有几阶乘为5的因子class Soluti...

2019-03-24 22:33:28 133

原创 Leetcode 227. 基本计算器 II 栈

实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+,-,*,/四种运算符和空格。 整数除法仅保留整数部分。示例1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5用栈来处理优先级。加减号入栈,最后把栈内元素全部加起来clas...

2019-03-24 22:32:12 161

原创 Leetcode 150. 逆波兰表达式求值 栈

根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = 9...

2019-03-24 22:31:05 161

原创 Leetcode 179. 最大数 思维

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入:[10,2]输出:210示例2:输入:[3,30,34,5,9]输出:9534330说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数。运用了C++11的一些特性函数to_string()将一个数字变成一个字符串。stoi(),将一个...

2019-03-24 22:29:24 177

原创 计算机网络基础(五) 运输层

从通信和信息处理的角度看:运输层向它上面的应用层提供通信服务,是面向通信的最高层,也是用户功能的最底层。运输层的重要性:从IP层来说,通信的两端是主机,IP数据报的首部明确标志了这两个主机的IP地址。但是真正通信的实体是主机中的进程,严格的讲,两个主机的通信是两个主机中的应用进程互相通信,IP协议虽然能将数据报送到目的主机,但是仍然停留在网络层,没有交付给进程。从运输层角度看:通信的真正端...

2019-03-23 22:39:58 567

原创 HDU 1019 Least Common Multiple GCD

The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.I...

2019-03-20 22:41:21 133

原创 HDU 1016 Uniform Generator GCD

Computer simulations often require random numbers. One way to generate pseudo-random numbers is via a function of the formseed(x+1) = [seed(x) + STEP] % MODwhere '%' is the modulus operator.Such ...

2019-03-20 22:40:00 813

原创 Leetcode 347. 前K个高频元素

给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(nlogn) ,n...

2019-03-20 22:38:15 136

原创 Leetcode 378. 有序矩阵中第K小的元素

给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。说明:你可以假设 k 的值永远是有效的, 1 ≤ k ≤ n2。二分 O...

2019-03-20 22:37:04 116

原创 Leetcode 295. 数据流的中位数

中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4]的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。示例:a...

2019-03-20 22:34:00 124

原创 Leetcode 105. 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7递归求解/** * Definition for a bin...

2019-03-20 22:32:25 99

图论基础模板

一些个人整理的基础图论模板,里面配有各类题型的基础题和代码。部分代码带有注释

2019-01-08

空空如也

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

TA关注的人

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