自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 租房子代理模式

System.out.println("房东要出租房子");System.out.println("看房子");System.out.println("谈金钱");System.out.println("看房子");System.out.println("谈金钱");//把房东拿给代理 让代理直接掉房东的方法。//代理直接掉host的方法 进行代理。//代理直接掉host的方法 进行代理。//需要把房东new出来。//代理可以扩展其他功能。//房东去实现租房接口。

2024-01-04 22:25:13 358

原创 tries树(字典树)

字典树模板

2022-07-13 20:41:08 158 1

原创 KMP算法

KMP算法(有流程图的那种)

2022-07-09 11:37:52 87

原创 模拟栈和队列

模拟栈和队列

2022-07-07 09:44:31 92

原创 用数组模拟单链表与双链表

用数组模拟单链表与双链表

2022-07-07 09:26:54 102

原创 一维数组储存二维数组(不可预定义数组的大小,用动态内存分配)

不可预定义数组的大小,用动态内存分配

2022-07-07 08:33:47 584

原创 指针与数组

# include<stdio.h>int main(){ int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23}; printf("%d,%d\n", a, *a); // 0行首地址和0行0列元素地址 printf("%d,%d\n", a[0], *(a+0)); // 0行0列元素地址 printf("%d,%d\n", &a[1][0], *...

2022-05-14 16:10:15 82

原创 补码原码反码

1. 、、 +3转化为二进制是00000011, -3转化为二进制是10000011;但是-3在计算机中储存形式为11111101;1.最高位即第一位为符号位,正数为0,负数为1;在转换原码补码反码过程中始终不变;2.正数的原码和反码和补码都一样3.负数的补码是原码取反加1;4.int型量是以补码形式存在;例如-3:-3的二进制原码为10000011,取反-->11111100;加1-->11111101;...

2022-03-31 17:56:32 568

原创 双指针(最长连续不重复子序列)

给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数 nn。第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤1051≤n≤105输入样例:51 2 2 3 5输出样例:3可以看作i每经过一个数字每个数字上放个石头用 a[ q[i] ]++ ,当a[q[i] ] > 1..

2022-02-08 16:32:56 75

原创 差分(一维与二维)

一维输入一个长度为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...

2022-02-06 21:58:07 58

原创 前缀和(一维与二维)

一维:输入一个长度为 nn 的整数序列。接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。输入格式第一行包含两个整数 nn 和 mm。第二行包含 nn 个整数,表示整数数列。接下来 mm 行,每行包含两个整数 ll 和 rr,表示一个询问的区间范围。输出格式共 mm 行,每行输出一个询问的结果。数据范围1≤l≤r≤n1≤l≤r≤n,1≤n,m≤1000001≤n,m≤100000,−

2022-02-06 21:17:52 55

原创 二分查找算法模板(整数)

二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1;//此步

2022-02-02 23:32:39 105

原创 快排和归并排序

快速排序#include<iostream>using namespace std;const int N = 1e6+10;int q[N];void quick_sort(int q[],int l,int r){ if(l>=r)return; int x=q[(l+r)/2],i=l-1,j=r+1; while(i<j){ do i++;while(q[i]<x); do j--;while(q[j]>x); if(i<j)

2022-02-02 19:32:29 606

原创 cin与getline()的区别:

cin与getline()的区别:getline()中的结束符,结束后,结束符不放入缓存区;cin的结束符,结束后,结束符还在缓存区;所以在使用 cin 后若要使用 getline() 必须要把前面cin遗留的结束符处理掉,解决方法为:在使用getline()之前,加入一行getline()来处理cin留下的结束符|| 如;#include<iostream>using namespace std;int main(){ int x; string a,b; ci

2022-01-29 15:00:42 1664 1

原创 字符串的位移与包含

#include<iostream>#include<algorithm>using namespace std;int main(){ string a,b; cin>>a>>b; if(a.size() < b.size()) swap(a,b); for(int i=0;i< a.size();i++){ a=a.substr(1)+a[0]; for(int j=0;j+b.size()<=a.size(.

2022-01-27 17:05:50 119

原创 信息加密767

加密的规则如下:字符串中的小写字母,aa加密为bb,bb加密为cc,…,yy加密为zz,zz加密为aa。 字符串中的大写字母,AA加密为BB,BB加密为CC,…,YY加密为ZZ,ZZ加密为AA。 字符串中的其他字符,不作处理。请你输出加密后的字符串。输入格式共一行,包含一个字符串。注意字符串中可能包含空格。输出格式输出加密后的字符串。#include<iostream>#include<cstring>using n...

2022-01-27 12:53:42 705

原创 在一个字符串中,输出最先只出现一次的字母(无空格)

#include<iostream>#include<cstring>using namespace std;char str[100010];int cnt[26];int main(){ fgets(str,100010,stdin); for(int i=0,len=strlen(str);i<len;i++){ cnt[str[i]-'a']++; } for(int j=0,len=strlen(str);j<len;j++){ if.

2022-01-27 12:00:42 802

原创 蛇形矩阵;

#include<iostream>using namespace std;const int N=110;int n,m;int q[N][N];int main(){ cin>>n>>m; int dx[]={-1,0,1,0},dy[]={0,1,0,-1}; int x=0,y=0,d=1; for(int i=1;i<=n*m;i++){ q[x][y]=i; int a=x+dx[d],b=y+dy[d]; i...

2022-01-25 11:45:04 401

原创 平方矩阵 II

题解

2022-01-23 16:59:52 453

原创 高精度运算

适用于位数大(包括小数)例如:求2的n次方 n<3000;#include<iostream>using namespace std;#define N 3010int main(){ int a[N]={1}; int n; int m=1; cin>>n; for(int i=0;i<n;i++){ int t=0; for(int j=0;j<m;j++){ t+=a[j]*2; a[j]=t%10; t/.

2022-01-22 14:40:25 224

原创 简单斐波那契

以下数列 0 1 1 2 3 5 8 13 21 ... 被称为斐波纳契数列。这个数列从第 3 项开始,每一项都等于前两项之和。输入一个整数 N,请你输出这个序列的前 N 项。输入格式一个整数 N。输出格式在一行中输出斐波那契数列的前 N 项,数字之间用空格隔开。#include<stdio.h>long long n,a,b=1,c;int main(){ scanf("%d",&n); while(n--){ print.

2022-01-22 13:35:32 358 2

原创 曼哈顿距离

* ******** *** *#include<iostream>#include<cmath>using namespace std;int main(){ int n; cin>>n; int x=n/2,y=n/2; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(abs(x-i)+abs(y-j)<=n/2){ cout<<"*";...

2022-01-22 13:14:24 279

原创 二维数组地址问题

细节决定成败

2021-12-22 18:46:08 228

原创 在c/c++中字符串的定义与输入格式与需要注意的问题

string a;getline(cin,a); //a=字符串 ;以回车为结束,但可以读入空格string a;cin>>a; //a=字符串;以空格或回车为结束char a[len]; gets(a); //数组 每个元素为一个字符; 以回车为结束 ...

2021-12-22 18:29:04 652

原创 选择排序与冒泡排序;

选择排序与冒泡排序的算法

2021-12-22 17:22:20 310

空空如也

空空如也

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

TA关注的人

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