- 博客(74)
- 收藏
- 关注
原创 Java连接MySql数据库实现增删改查功能
一 不用工具类,简单实现连接数据库并查询package com.liu;import java.sql.*;public class JDBCTest { public static void main(String[] args) throws Exception { //1. 加载驱动 Class.forName("com.mysql.cj.jdbc.Driver");//固定写法 //2. 用户信息和url //useUnicode=true&charact..
2022-03-10 21:32:35 8126 5
原创 云服务器上docker部署Django项目以及git项目创建
配置环境1、 一台操作系统是 Linux ubuntu 20.04 版本的 云服务器,有最新话的可以去docker官网查看是否适配。然后进入自己购买的云服务器官网修改网络安全组配置,开放端口。比如阿里云我们点进去自己购买的服务器实例中,点击网络和安全组,接着点击安全组配置,进去点配套规则,手动添加端口,端口格式根据下列原有的格式更改,端口号可以自己随意改。2、下载并且配置好的docker,传到自己购买的云服务器上并且登入自己云服务器,我们尽量不要在root用户下做项目,可以增加一个用户,然后
2022-01-21 14:08:33 1499
原创 剪绳子(面试经典浮点数二分题)
有NN根绳子,第ii根绳子长度为LiLi,现在需要MM根等长的绳子,你可以对NN根绳子进行任意裁剪(不能拼接),请你帮忙计算出这MM根绳子最长的长度是多少。输入格式第一行包含22个正整数N、MN、M,表示原始绳子的数量和需求绳子的数量。第二行包含NN个整数,其中第ii个整数LiLi表示第ii根绳子的长度。输出格式输出一个数字,表示裁剪后最长的长度,保留两位小数。数据范围1≤N,M≤1000001≤N,M≤100000,0<Li&...
2022-01-20 19:55:08 237
原创 如何解决阿里云等服务器重装系统后,不能免密登入云服务器的问题
当我们更改云服务器的系统时候,在用另外一个服务器或者跳板免密登入云服务器的时候会出现这个问题@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS
2022-01-17 19:33:03 2097
原创 字符串哈希
给定一个长度为nn的字符串,再给定mm个询问,每个询问包含四个整数l1,r1,l2,r2l1,r1,l2,r2,请你判断[l1,r1][l1,r1]和[l2,r2][l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数nn和mm,表示字符串长度和询问次数。第二行包含一个长度为nn的字符串,字符串中只包含大小写英文字母和数字。接下来mm行,每行包含四个整数l1,r1,l2,r2l1,r1,l2,r...
2021-11-26 22:06:56 991
原创 模拟散列表
维护一个集合,支持如下几种操作:I x,插入一个数xx; Q x,询问数xx是否在集合中出现过;现在要进行NN次操作,对于每个询问操作输出对应的结果。输入格式第一行包含整数NN,表示操作数量。接下来NN行,每行包含一个操作指令,操作指令为I x,Q x中的一种。输出格式对于每个询问指令Q x,输出一个询问结果,如果xx在集合中出现过,则输出Yes,否则输出No。每个结果占一行。数据范围1≤N≤1051≤N≤105−109≤x≤109−1...
2021-11-26 20:42:33 130
原创 模拟堆(增删改查)
维护一个集合,初始时集合为空,支持如下几种操作:I x,插入一个数xx; PM,输出当前集合中的最小值; DM,删除当前集合中的最小值(数据保证此时的最小值唯一); D k,删除第kk个插入的数; C k x,修改第kk个插入的数,将其变为xx;现在要进行NN次操作,对于所有第22个操作,输出当前集合的最小值。输入格式第一行包含整数NN。接下来NN行,每行包含一个操作指令,操作指令为I x,PM,DM,D k或C k x中的一种。输出格式对...
2021-11-25 21:57:00 179
原创 堆排序(小根堆)
输入一个长度为nn的整数数列,从小到大输出前mm小的数。输入格式第一行包含整数nn和mm。第二行包含nn个整数,表示整数数列。输出格式共一行,包含mm个整数,表示整数数列中前mm小的数。数据范围1≤m≤n≤1051≤m≤n≤105,1≤数列中元素≤1091≤数列中元素≤109输入样例:5 34 5 1 3 2输出样例:1 2 3C++#include<iostream>#include<...
2021-11-24 23:14:58 1005
原创 连通块中点的数量
给定一个包含nn个点(编号为1∼n1∼n)的无向图,初始时图中没有边。现在要进行mm个操作,操作共有三种:C a b,在点aa和点bb之间连一条边,aa和bb可能相等; Q1 a b,询问点aa和点bb是否在同一个连通块中,aa和bb可能相等; Q2 a,询问点aa所在连通块中点的数量;输入格式第一行输入整数nn和mm。接下来mm行,每行包含一个操作指令,指令为C a b,Q1 a b或Q2 a中的一种。输出格式对于每...
2021-11-23 23:36:39 1091
原创 合并集合(并查集+路径压缩)
一共有nn个数,编号是1∼n1∼n,最开始每个数各自在一个集合中。现在要进行mm个操作,操作共有两种:M a b,将编号为aa和bb的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为aa和bb的两个数是否在同一个集合中;输入格式第一行输入整数nn和mm。接下来mm行,每行包含一个操作指令,指令为M a b或Q a b中的一种。输出格式对于每个询问指令Q a b,都要输出一个结果,如果aa...
2021-11-23 21:49:05 238
原创 Trie字符串统计(字典树)
维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串xx; Q x询问一个字符串在集合中出现了多少次。共有NN个操作,输入的字符串总长度不超过105105,字符串仅包含小写英文字母。输入格式第一行包含整数NN,表示操作数。接下来NN行,每行包含一个操作指令,指令为I x或Q x中的一种。输出格式对于每个询问指令Q x,都要输出一个整数作为结果,表示xx在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗1041≤N≤2∗1...
2021-11-22 21:24:15 218
原创 滑动窗口 单调队列
给定一个大小为n≤106n≤106的数组。有一个大小为kk的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到kk个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[1 3 -1 -3 5 3 6 7],kk为33。窗口位置 最小值 最大值 [1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7 -3 5...
2021-11-21 21:21:54 222
原创 单调栈例题
给定一个长度为NN的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1−1。输入格式第一行包含整数NN,表示数列长度。第二行包含NN个整数,表示整数数列。输出格式共一行,包含NN个整数,其中第ii个数表示第ii个数的左边第一个比它小的数,如果不存在则输出−1−1。数据范围1≤N≤1051≤N≤1051≤数列中元素≤1091≤数列中元素≤109输入样例:53 4 2 7 5输出样例:-1 3 -1 2 2模拟 ...
2021-11-21 16:53:22 787
原创 (位运算)二进制中1的个数
给定一个长度为nn的数列,请你求出数列中每个数的二进制表示中11的个数。输入格式第一行包含整数nn。第二行包含nn个整数,表示整个数列。输出格式共一行,包含nn个整数,其中的第ii个数表示数列中的第ii个数的二进制表示中11的个数。数据范围1≤n≤1000001≤n≤100000,0≤数列中元素的值≤1090≤数列中元素的值≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 2#include<...
2021-11-14 18:47:07 836
原创 双指针两道板子题(单调性和无单调性)
一 、数组元素的目标和(两个序列含有单调性)给定两个升序排序的有序数组AA和BB,以及一个目标值xx。数组下标从00开始。请你求出满足A[i]+B[j]=xA[i]+B[j]=x的数对(i,j)(i,j)。数据保证有唯一解。输入格式第一行包含三个整数n,m,xn,m,x,分别表示AA的长度,BB的长度以及目标值xx。第二行包含nn个整数,表示数组AA。第三行包含mm个整数,表示数组BB。输出格式共一行,包含两个整数ii和j...
2021-11-14 17:32:56 292
原创 最长连续不重复子序列(双指针)
给定一个长度为nn的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数nn。第二行包含nn个整数(均在0∼1050∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤1051≤n≤105输入样例:51 2 2 3 5输出样例3借用双指针解题,能将原本时间复杂度为O(n*2)的变成O(n),节约不少时间,用双指针解题时一般先写出暴力方法...
2021-11-14 16:37:36 183
原创 二维差分板子题—差分矩阵
输入一个nn行mm列的整数矩阵,再输入qq个操作,每个操作包含五个整数x1,y1,x2,y2,cx1,y1,x2,y2,c,其中(x1,y1)(x1,y1)和(x2,y2)(x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上cc。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数n,m,qn,m,q。接下来nn行,每行包含mm个整数,表示整数矩阵。接下来qq行,每行包含55个整数x1,y...
2021-11-07 19:40:10 244
原创 一维差分板子题
输入一个长度为nn的整数序列。接下来输入mm个操作,每个操作包含三个整数l,r,cl,r,c,表示将序列中[l,r][l,r]之间的每个数加上cc。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数nn和mm。第二行包含nn个整数,表示整数序列。接下来mm行,每行包含三个整数l,r,cl,r,c,表示一个操作。输出格式共一行,包含nn个整数,表示最终序列。数据范围1≤n,m≤1000001≤n,m≤100000,1≤l≤r...
2021-11-07 17:24:46 267
原创 二维前缀和—子矩阵求和
输入一个nn行mm列的整数矩阵,再输入qq个询问,每个询问包含四个整数x1,y1,x2,y2x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数n,m,qn,m,q。接下来nn行,每行包含mm个整数,表示整数矩阵。接下来qq行,每行包含四个整数x1,y1,x2,y2x1,y1,x2,y2,表示一组询问。输出格式共qq行,每行输出一个询问的结果。数据范围1≤n,m≤1...
2021-10-29 22:08:47 792
原创 AcWing算法课C++高精度加减乘除模板
高精度加法#include<iostream>#include<vector>using namespace std;vector<int> add(vector<int> &A,vector<int> &B){ vector<int> C; int t=0; for(int i=0;i<A.size() || i<B.size();i++){ if(i&
2021-10-28 21:12:07 209
原创 归并排序板字题—逆序对的数量
给定一个长度为nn的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第ii个和第jj个元素,如果满足i<ji<j且a[i]>a[j]a[i]>a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数nn,表示数列的长度。第二行包含nn个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤1000001≤n≤100000,数列中的元素的取值范围[1,109][1,109]。输...
2021-10-28 17:55:59 150
原创 计算机组成原理—计算机的性能指标
1存储器的性能指标注意:MAR(地址寄存器)反映存储单元的个数(最多支持多少个)MDR(数据寄存器)位数 =存储字长 =每个存储单元的大小存储器总容量 = (存储单元个数 *存储字长)bit = (存储单元个数 *存储字长/8)Byte2 CPU的性能指标补充:CPU主频:CPU内数字脉冲信号的频率。常见的几HZ就是CPU主频也称时钟频率,例如10HZ就是每秒10个脉冲信号。CPU执行时间(整个程序执行时间) = CPU时钟周期数...
2021-10-22 22:14:07 638
原创 计算机组成原理—计算机的系统层次
1计算机系统的层次结构2三种级别的语言补充:C/C++等编译程序语言编译一次就变成了exe可执行文件,运行一遍以后无需再编译,能减少很多时间,提高效率。而python/javascript等脚本式语言也就是解释程序语言由于每次执行都要编译,因此浪费很多时间,效率很慢。3知识总结补充:计算机体系结构和计算机组成原理的区别...
2021-10-22 21:25:41 89
原创 计算机组成原理—各个硬件部件作用
1 主存储器的基本组成补充:寄存器就是存储二进制数据的地方。注意:B和b要分清,平常说的100Mbps宽带真正速度要除以8,1B=8b。存储单元:每个存储单元存放一串二进制代码。存储字:存储单元二进制代码的组合,就是一串二进制代码。存储字长:存储单元中二进制代码的位数。存储元:存储二进制的电子元件,每个存储元可存1bit。2运算器的基本组成补充: ACC和MQ,X三个是从存储器中暂时存数的位置,ALU是收到指令进行运算的地方。3控...
2021-10-22 21:00:45 604
原创 计算机组成原理—计算机基本组成部分
1 冯诺依曼-计算机结构补充:二进制在电子器件中实现依靠电压的高低,脉冲的有无来代表1和0.冯诺依曼计算机特点:1 计算机由输入设备,输出设备,运算器,控制器,存储器五大部件组成。2 指令和数据以同等地位存于存储器中,可按地址寻访。3 指令和数据用二进制表示。4 指令由操作码和地址码组成。5 存储程序6 以运算器为中心。(输入/输出设备与存储器之间的数据传送通过运算器完成)...
2021-10-17 21:34:07 334
原创 爬取京东商品评论
爬取不同商品只要换下User-Agent和url就行了单线程方法#coding=gbkimport reimport timeimport csvimport osimport requestsimport htmlheaders = { 'cookie': 'shshshfp=22dd633052035d21be92463ffa35684d; shshshfpa=ab283f84-c40f-9710-db89-84a8d3366a81-1586333030; __jda=
2021-10-17 14:40:03 562
原创 爬虫协程爬取图片
import aiohttpimport asynciourls = [ "https://images.quanjing.com/170/thu/pc041-04.jpg", "https://images.quanjing.com/Chineseview005/thu/1S-1095.jpg", "https://images.quanjing.com/chineseview019/thu/27-0270.jpg"]async def adownload(url):.
2021-09-14 18:59:20 162
原创 python 线程,进程,协程
一、进程与线程1.进程我们电脑的应用程序,都是进程,假设我们用的电脑是单核的,cpu同时只能执行一个进程。当程序出于I/O阻塞的时候,CPU如果和程序一起等待,那就太浪费了,cpu会去执行其他的程序,此时就涉及到切换,切换前要保存上一个程序运行的状态,才能恢复,所以就需要有个东西来记录这个东西,就可以引出进程的概念了。进程就是一个程序在一个数据集上的一次动态执行过程。进程由程序,数据集,进程控制块三部分组成。程序用来描述进程哪些功能以及如何完成;数据集是程序执行过程中所使用的资源;进程控制块用来
2021-09-14 18:15:57 269
原创 处理cookie登录小说网爬取小说
import requestssession = requests.session()#第一种方法data = { "loginName": "13220677880", "password": "haowei0210"}url = "https://passport.17k.com/ck/user/login"session.post(url, data=data)resp = session.get("https://user.17k.com/ck/author.
2021-09-12 16:32:36 398 1
原创 爬取数据三种方法数据解析
re模块数据解析re模块使用1import relst = re.findall(r"\d+","电话是;13220677880 , 我的电话是:18715211308")print(lst)#直接打印出全部lt = re.finditer(r"\d+","电话是;13220677880 , 我的电话是:18715211308")for i in lt:#迭代器,一个一个返回 print(i.group())s = re.search(r"\d+","电话是;132
2021-09-11 20:16:45 874
原创 requests入门
import requestspeople = input("输入一个你喜欢的明星")url = f'https://www.sogou.com/tx?ie=utf-8&query={people}'dic = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.
2021-09-11 20:02:16 115
原创 7-1 最大子列和问题 (20 分)
给定K个整数组成的序列{N1,N2, ...,NK},“连续子列”被定义为{Ni,Ni+1, ...,Nj},其中1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。各组测试数据特点如下:数据1:与样例等价,测试基本正确性; 数据2:1...
2021-09-04 17:41:09 116
原创 数据结构实验之排序三:bucket sort
Description根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。Input输入第一行给出一个正整数N(<=5000000),随后连续给出N个整数表示每个人的年龄,数字间以空格分隔。Output按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间以一个空格分隔,行末不得有多余空..
2021-09-01 16:09:54 67
原创 数据结构实验之排序八:快速排序
Description给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。Input输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间以空格分隔。Output输出排序后的结果,数字间以一个空格间隔,行末不得有多余空格。SampleInput849 38 65 97 76 13 27 49Output13 27 38 49 49 65 76 97#include<stdio.h>#inc...
2021-09-01 15:08:40 327
原创 TimesIsMoney
Description给你一个序列,有N个整数(int以内),判断一个数在这个序列中出现几次。Input多组输入,输入到文件结尾首先输入一个n,然后输入n个整数。在输入一个m,代表查询的个数 ,然后输入m个数(int以内)。n,m <= 100000;Output对应每一次查询,输出这个数在序列中出现几次。SampleInput51 2 2 3 532 4 5Output201#include<stdio.h>#i..
2021-08-31 22:32:57 88
原创 数据结构实验之查找五:平方之哈希表
Description给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,...,m-1Input输入包含多组测试数据,到 EOF 结束。每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。Outp
2021-08-31 15:09:01 90
原创 数据结构实验之查找七:线性之哈希表
Description根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。Input连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1500)和p(p >= N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。Output输出每个关键字在hash表中的位置,以空格间隔。注意最后一个数字后
2021-08-31 14:50:52 124
原创 数据结构实验之查找四:二分查找
Description在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。Input一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6 )和m ( m < = 10^4 ),n是数组中数据元素个数,随后连续输入n个正整数,输入的数据保证数列递增。随后m行输入m个待查找的关键字keyOutput若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出-1。Sample
2021-08-30 17:33:14 114
原创 数据结构实验之查找二:平衡二叉树
Description根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根。Input输入一组测试数据。数据的第1行给出一个正整数N(n <= 20),N表示输入序列的元素个数;第2行给出N个正整数,按数据给定顺序建立平衡二叉树。Output输出平衡二叉树的树根。SampleInput588 70 61 96 120Output70HintAVL树模板。#include<stdio.h>#include<..
2021-08-30 17:16:57 124
原创 数据结构实验之查找一:二叉排序树
Description对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。Input输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n < = 10)和L,分别是输入序列的元素个数和需要比较的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列生成一颗二叉排序树。
2021-08-30 14:35:20 296
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人