- 博客(30)
- 收藏
- 关注
原创 租房子代理模式
System.out.println("房东要出租房子");System.out.println("看房子");System.out.println("谈金钱");System.out.println("看房子");System.out.println("谈金钱");//把房东拿给代理 让代理直接掉房东的方法。//代理直接掉host的方法 进行代理。//代理直接掉host的方法 进行代理。//需要把房东new出来。//代理可以扩展其他功能。//房东去实现租房接口。
2024-01-04 22:25:13
400
原创 指针与数组
# 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
110
原创 补码原码反码
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
1082
原创 双指针(最长连续不重复子序列)
给定一个长度为 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
114
原创 差分(一维与二维)
一维输入一个长度为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
95
原创 前缀和(一维与二维)
一维:输入一个长度为 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
91
原创 二分查找算法模板(整数)
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[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
133
原创 快排和归并排序
快速排序#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
637
原创 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
1755
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
153
原创 信息加密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
748
原创 在一个字符串中,输出最先只出现一次的字母(无空格)
#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
841
原创 蛇形矩阵;
#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
427
原创 高精度运算
适用于位数大(包括小数)例如:求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
254
原创 简单斐波那契
以下数列 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
386
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
305
原创 在c/c++中字符串的定义与输入格式与需要注意的问题
string a;getline(cin,a); //a=字符串 ;以回车为结束,但可以读入空格string a;cin>>a; //a=字符串;以空格或回车为结束char a[len]; gets(a); //数组 每个元素为一个字符; 以回车为结束 ...
2021-12-22 18:29:04
688
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人