- 博客(50)
- 收藏
- 关注
原创 C++之set find结构体对象
以下面的例子作说明,leetcode中的365水壶问题:class Solution {public: struct status{ int left; int right; };class statusSort {public: //重点 bool operator() (const status &a, const status &b) const { if(a.left!=b.left)return a.
2021-08-20 21:13:03
1639
原创 PAT A 1017 Queueing at Bank
这是一道模拟题,模拟题我一直不是很会,对于这类题最主要的是要构造一个非常好的数据结构,能很好地匹配题目中的场景1、将顾客按时间由先到后顺序排队(同时间的按服务时间由短到长排序)2、用一个结构体模拟窗口,属性是该窗口对外可提供服务(空闲)的时间点,刚开始全都是8:003、对于每一个顾客选择窗口来说,选择那个提供服务时间最早的窗口代码如下:#include <iostream>#include <stdio.h>#include <algorithm>usin
2021-03-16 10:27:19
227
原创 PAT A 1096 Consecutive Factors——滑动窗口
这道题求符合条件的区间的最大的长度是多少,所以我们可以采用滑动窗口的方法,若(N%窗口中数的累乘==0)则说明该窗口可以保持。注意质数的情况下输出:1N代码如下:#include <iostream>#include <stdio.h>#include <math.h>using namespace std;int main(){ int N; scanf("%d",&N); int sqrtN=(int)sqrt(N)
2021-03-09 15:35:14
250
原创 PAT 1057 Stack 分桶法
这道题搞得我很懵,主要难点是题目是要获取的是排序后在中间的那个数,想了一些数据结构后发现时间复杂度都会很高,后来去网上搜了一些博客,有用线段树的、有用树状数组的……这些我还都不会hh,后来看到一种分桶的做法,还是很好理解的,下面说明一下。现在假设这里有k个桶,每个桶的容量为m吧,我们将push的每一个数加入到第(num/m)个桶中,然后此时再记录一下相同的数有多少个那如何找到中间小的那个数呢?中间小的那个数的前面的数应该有(stack.size()+1/2)先按桶遍历,因为第i个桶中的数都小于第i+1
2021-03-08 14:49:15
122
原创 PAT刷题(七)
随时更新,遇到好题就更新!这次我主要练习C和C++(需要使用STL就用C++),练习网站有两个:codeup和PTA文章目录PAT A 1013 Battle Over Cities并查集DFSPAT A 1013 Battle Over Cities这题的本质是找到删除一个点及其连通边后,原图中还存在几个连通块,可以通过并查集来做,也可以通过DFS来做并查集代码如下:#include <iostream>#include <stdio.h>#include &l
2021-03-04 11:28:39
354
原创 PAT刷题(六)
随时更新,遇到好题就更新!这次我主要练习C和C++(需要使用STL就用C++),练习网站有两个:codeup和PTA这个专题同样主要是图的相关题文章目录最小生成树prim算法kruskal算法最小生成树以codeup中prim算法prim算法和Dijkstra算法非常类似,代码如下:#include <iostream>#include <stdio.h>using namespace std;const int maxn=110;const int INF
2021-02-21 09:20:00
347
转载 补码(为什么按位取反再加一):告诉你一个其实很简单的问题
本篇为转载文章,感谢原博主版权声明:本文为优快云博主「wenxinwukui234」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/wenxinwukui234/article/details/42119265首先,阅读这篇文章的你,肯定是一个在网上已经纠结了很久的读者,因为你查阅了所有你能查到的资料,然后他们都会很耐心的告诉你,补码:就是按位取反,然后加一。准确无误,毫无破绽。但是,你搜遍了所有俯拾即是而且准确
2021-02-10 09:59:36
664
1
原创 PAT刷题(五)
随时更新,遇到好题就更新!这次我主要练习C和C++(需要使用STL就用C++),练习网站有两个:codeup和PTA这个专题主要是图的相关题文章目录PAT A 1034 Head of a GangPAT A 1034 Head of a Gang这题一上来我就有些懵,后来照着算法笔记上的代码敲了一遍,如下所示:#include <iostream>#include <stdio.h>#include <map>#include <string.
2021-02-08 11:27:18
281
原创 PAT刷题(四)
随时更新,遇到好题就更新!这次我主要练习C和C文章目录PAT A 1022 Digital LibraryPAT A 1022 Digital Library这道题细节很多呀,这里我先把代码贴出来,注释中为细节,代码如下:#include <iostream>#include <stdio.h>#include <map>#include <set>//这里用set不用vector的原因在于,set自动有序!且无重复!#include <
2021-02-04 09:44:51
229
原创 PAT刷题(三)——AVL树
随时更新,遇到好题就更新!这次我主要练习C和C文章目录PAT A 1066 Root of AVL TreePAT A 1123 Is It a Complete AVL Treeleetcode 958. 二叉树的完全性检验本篇文章将重点介绍AVL树,所选例题为PAT A 1066 Root of AVL Tree、PAT A 1123 Is It a Complete AVL Tree和leetcode 958. 二叉树的完全性检验AVL树的概念再此不做过多介绍,下面来介绍一下AVL树的代码构建过
2021-01-29 14:26:40
778
原创 PAT刷题(二)
随时更新,遇到好题就更新!这次我主要练习C和C++(需要使用STL就用C++),练习网站有两个:codeup和PTA文章目录PAT A 1074 Reversing Linked ListPAT A 1074 Reversing Linked List
2021-01-25 15:42:09
371
原创 PAT刷题(一)
我又来刷题了,之前总是刷一段时间就停了,这次要坚持!这次我主要练习C和C++(需要使用STL就用C++),总结的文章目录PAT A 1033 To Fill or Not to FillPAT 1039 Course List for StudentPAT A 1033 To Fill or Not to Fill一道贪心题,讲解在注释中,写的还是蛮复杂的:#include <stdio.h>#include <stdlib.h>#include <stdboo
2021-01-23 11:56:11
722
原创 用爬虫获取新冠疫情历史数据
推一下自己搭的博客:可以访问这个 也可以访问这个,不过也好长时间没有更新了。之前开源的新冠疫情历史数据见github仓库,有好多人问我这些数据是怎么获取的,因为最近一个月一直在忙创新实训的事情,所以也一直没有时间把博客写出来,下面我来讲一下我是如何获取到这些数据的。数据是使用python爬虫从全球新冠病毒最新实时疫情地图_丁香园爬取到的,在此非常感谢丁香园!第一阶段疫情数据发布平台有每日头条、腾讯网、丁香医生、国家卫健委网站等,经过数据准确性、有无历史数据、数据发布时间、数据是否全面等考量,最终选定
2020-07-03 17:21:23
4967
原创 创新实训——013
本篇文章介绍如何部署flask后端到服务器上,环境是阿里云的centos7。安装python3.7.1本篇博客参照centos7+Python3.7的正确安装方法(与Python2.X共存),感谢博主!1、首先下载:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz2、解压:tar zxvf 压缩文件3、安装依赖环境:yum -y install zlib-devel bzip2-devel openssl-devel
2020-07-01 11:40:41
247
原创 创新实训——011
下面介绍在写后端程序时遇到的问题。后端我使用的是flask,有关flask的基本使用(请求和websocket)在第三篇文章中已经介绍过了,下面介绍一些问题及解决办法。pymysql.err.InternalError: Packet sequence number wrong - got 1 expected 2这里要注意,在将后端部署时有可能会报pymysql.err.InternalError: Packet sequence number wrong - got 1 expected 2错误,
2020-07-01 11:10:08
1276
原创 创新实训——010
本篇介绍页面的样式设计。颜色1、页面的整体我选用偏黑色的灰色(#1e1e1e),可以在每一页的style中添加body{ background-color: #1e1e1e; }2、字体颜色我选用和背景色对比鲜明的偏白色(#fff),可以在每一个有字显示的标签里添加style='color:#fff'3、这里重点说明element-ui中的展开行里面的颜色如何更改展开行的样式如下所示:想要把表格和页面颜色统一需要做如下操作:<el-table :data="tableData"
2020-07-01 09:32:30
283
原创 创新实训——009
本片博客中我要介绍之前提到的Vue.js(以下简称vue)中的watch方法,并且顺带说一下vue的生命周期和文件结构。watchwatch方法可以监视某个值是否发生变化,如果该值发生变化了,就可以做出对应的操作,这一点是很实用的,比如有一个点击事件,当我点击不同的值时,在watch方法的监视下就可以对此做出不同的变化。watch既可以监视一个值,也可以监视多个值,下方举例。监视一个值举例如下:watch:{ //在这里监视的是logPara这个值 logPara:{
2020-07-01 08:47:03
177
原创 创新实训——008
上一篇介绍了Vue.js(以下简称vue)的前端请求,简要说明了axios和websocket的基本使用,但是当你刚开始使用时,你会发现会报跨域错误。跨域跨域是浏览器的一种安全机制,基于同源策略,是指当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域,这就可以很好避免因执行外部恶意脚本而造成损害,但是毕竟前后端要分离的话,后台和前端是两个进程要使用不同端口,所以就会造成跨域问题,我在这里提供两种在项目编写过程中可以解决跨域问题的办法。基于后端的解决办法像我自己基于flas
2020-06-29 14:57:46
167
原创 创新实训——007
本篇介绍Vue.js(以下简称vue)的前端请求axiosvue目前官方推荐使用axios来进行数据请求,axios是一个基于 promise 的 HTTP 库,简单来说就是可以发送get、post请求(因为我只用到了这些hh),看到网上有人总结axios的特点如下:1.从浏览器中创建 XMLHttpRequests2.从 node.js 创建 http 请求3.支持 Promise API4.拦截请求和响应 (就是有interceptor)5.转换请求数据和响应数据6.取消请求7.自动转
2020-06-29 14:20:28
162
原创 创新实训——005
本篇文章介绍Vue.js(以下简称vue)的组件化特性,非常好用组件化为什么当时我选择了vue,因为在我接触为数不多的前端框架中,vue的组件化特性惊艳到了我,组件化的意思就是指页面是可以由一个个组件拼接起来的。比如所有页面都会有一个导航栏,那么就可以将该导航栏单独作为一个组件,然后在App.vue中引入即可,导航栏作为一个单独组件navMenu.vue,代码如下:<!--导航栏组件--><template> <el-menu :default-a
2020-06-27 21:23:17
150
原创 创新实训——003
之前后端本来想用spring boot的,但是之前并未与redis一起使用过,所以后端换到flask。本篇博客来学习下flask参考文档:flask参考文档flask安装pycharm下新建工程后,可界面里安装flask或pip install flask如果报werkzeug的错,那么重新下一下它一个最小的应用hello worldfrom flask import Flaskapp=Flask(__name__)@app.route('/')def hello_world():
2020-06-11 16:56:11
186
原创 创新实训——001
前言报名了学校的创新实训,今天正式开始,小组的主题是“WEB访问日志分析与入侵检测可视化系统”,我负责可视化模块。项目地址github:项目仓库项目博客:项目博客技术路线前端前端框架我选用Vue.js,官方网址:Vue.js官方网址组件库我选用了element-ui,其样式丰富,并且基于Vue2.0,其官方文档网址:element-ui官方文档可视化工具我选择配置式的echarts,因为其容易使用、图表样式丰富且美观,虽为配置式工具但已能满足所有需求,官方文档见:echarts官方文
2020-06-09 10:14:53
292
原创 新冠疫情历史数据(COVID-19-Data)
希望搜集的数据可以帮助一些人吧!项目地址:COVID-19-Data项目说明:本仓库不定期提供新型冠状病毒(COVID-19)疫情历史数据,数据来自全球新冠病毒最新实时疫情地图_丁香园,非常感谢!提供csv格式的数据,有:china_provincedata.csv 中国各省、直辖市、自治区、特别行政区的疫情数据countrydata.csv 目前包含全球214个国家地区及钻石珍珠号邮轮的疫情数据后期会追加所写的python爬虫程序。...
2020-05-14 21:12:52
25321
18
原创 上手快应用(一)
最近要参加比赛,所以上手了快应用快应用不做过多解释主要是配置自己的第一个项目快应用官网:https://www.quickapp.cn/一、建造第一个项目TheFirstQuickApp1、安装node.js官网:https://nodejs.org/en/因为之前安装过,查看自己本机node的版本node -v2、安装hap-toolkitnpm ...
2019-11-26 21:23:37
408
原创 burpsuite入门指南——网安小白初体验
作为一个网安专业的学生,网安道路才刚刚开始入门,实在惭愧!最近在做CTF,看到好多题和好多厉害的同学都用到burpsuite这一神器,于是我找到了一个burpsuite(1.7.32),不过这个版本只支持jdk8,所以我弄了个win7虚拟机,将jdk8配置好后,便打开了burpsuite。要想burpsuite起作用第一步是要设置代理和配置证书:1、浏览器需要设置代理:我用的火狐浏...
2019-10-05 20:41:30
1705
1
原创 ubuntu之C++使用openssl
老师布置了一项任务,openssl中的密码算法的使用然后我找到了我的虚拟机中的ubuntu16,发现里面有openssl,很好!那我如何写一个C++程序来用到openssl呢?肯定得include,然后我写了一发测试:#include<iostream>#include<openssl/ssl.h>using namespace std;int main...
2019-10-04 20:51:05
2906
原创 LeetCode刷题之路——脑筋急转弯
一 Nim游戏一 Nim游戏这一题很有意思,作为我们这篇博客的开头非常好,因为它会立刻让你对这类题产生兴趣我一开始先想了想,1-3肯定先手赢,4后手赢,5-7先手赢,8后手赢,找规律吗?然后就找到了4的倍数后手赢其实这题的规律是通过两个状态构成的1-3不用说5-7为啥先手一定会赢,因为先手在拿完第一次后,一定会让后手进入剩下4个的局面,我们知道剩下4个的局面...
2019-08-20 09:06:50
245
原创 LeetCode刷题之路(三)
继续刷题!二十一 合并两个有序链表二十二 括号生成二十六 删除排序数组中的重复项二十七 移除元素二十八 实现strStr()二十一 合并两个有序链表我是把第二条链往第一条链上加的,然后我终于会构造空的头了!/** * Definition for singly-linked list. * struct ListNode...
2019-08-16 16:52:18
146
原创 C++疑惑解答总结(二)
一、C++为什么不叫++C?我们知道自增、自减运算符有前缀和后缀两种形式①int y=a++;②int y=++a;第①种情况下:a先将值赋给y,再执行加1操作(首先复制一个副本,将其加1,然后将复制的副本返回)第②种情况下:a值加1,然后返回结果对于内置类型,采用哪种格式不会有差别;但对于用户定义的类型,如果由用户定义的递增和递减运算符,则前缀格式的效率更高C++为什...
2019-08-15 16:34:41
160
原创 LeetCode刷题之路(二)(11~20)
继续我们的刷题之旅十一 盛最多水的容器十二 整数转罗马数字十三 罗马数字转整数十五 三数之和十六 最接近的三数之和十七 电话号码的字母组合十九 删除链表的倒数第N个节点二十 有效的括号十一 盛最多水的容器这题我见过还做过!首先是O(n^2)的暴力方法,我就不说了,然后我想了想,嗯,想不起来了。。。...
2019-08-13 16:57:05
264
原创 C++疑惑解答总结(一)
C++现在是我很常用的一门编程语言,不过使用也限于oj、leetcode等描述算法的方面,真正用于工程的时候较少,导致对C++的部分用法并不熟悉,下面就是我在用C++常常会有的疑惑及解答吧:(参考《C++ Primer Plus》第六版)目录:一、字符串二、共用体三、枚举四、指针一、字符串疑惑:可能是Java最开始学的,导致在写算法时,用C++对字符串进行处理时用得太不...
2019-08-12 11:43:46
1374
原创 LeetCode刷题之路(一)(1~10)
突然想起有一个做题的网站(LeetCode)地址:https://leetcode-cn.com/,心血来潮,于是注册做了第一题“两数之和”感觉非常有意思,因为它是给定你初始格式,让你来完成里面的函数,和之前完全由自己写又不一样,上来第一道题差点儿把自己看懵了,以后会不时做几道题,并且补充相关知识点!目录:第一题 两数之和第二题是链表就不说了(不过也得不时回顾,要不然就忘...
2019-08-10 21:21:20
384
原创 爬虫学习——Scrapy框架学习(五)(股票数据Scrapy爬虫实例及其爬取速度优化)
“股票数据Scrapy爬虫”实例介绍功能描述:技术路线:scrapy目标:获取上交所和深交所所有股票的名称和交易信息输出:保存到文件中数据网站的确定:获取股票列表: 东方财富网:http://quote.eastmoney.com/stock_list.html获取个股信息: 百度股票:https://gupiao.baidu.com/stock/...
2019-08-10 11:33:41
700
原创 爬虫学习——Scrapy框架学习(四)
接之前的博客内容Scrapy爬虫的基本使用步骤:1、创建一个工程和Spider模板;2、编写Spider;3、编写Item Pipeline;4、优化配置策略Scrapy爬虫的数据类型:1、Reqeust类(向网络中提交请求的内容)class scrapy.http.Request()Request对象表示一个HTTP请求;由Spider生成,由Downlo...
2019-08-10 10:19:58
157
原创 爬虫学习——Scrapy框架学习(三)
接前面博客Scrapy爬虫的第一个实例演示HTML页面地址:http://python123.io/ws/demo.html文件名称:demo.html产生步骤:1、建立一个Scrapy爬虫工程选取一个目录,D:\pythoncode,在这个目录中执行建立爬虫工程的命令工程生成了一个目录:下面逐一介绍这些文件和子目录的作用:生成的工程目录:p...
2019-08-09 21:32:34
388
原创 爬虫学习——Scrapy框架学习(二)
接上一篇三、requests库和Scrapy库的比较相同点:1、两者都可以进行页面请求和爬取,python爬虫的两个重要技术路线2、两者可用性都好,文档丰富,入门简单3、两者都没有处理js、提交表单、应对验证码等功能(可扩展)不同点:requests Scrapy页面级爬虫 网站级爬虫(批量)功能...
2019-08-09 20:16:48
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人