考前刷题练手感(北航期末往年数据结构编程题)
本次因为是考前一天极速刷题,所以没有讲解,若有问题可私信。
目录
- 一、 查找同时空人员
- 二、 老鼠回家-无回路
- 三、函数调⽤关系
- 四、东二食堂模拟
- 五、栈帧
一、 查找同时空人员
【问题描述】
假设一共有6个手机基站,都具有记录手机连接基站状态的能力,当手机进入和离开基站固定范围后,基站将及时记录手机的连接信息:
1、约定基站覆盖范围不存在重合,也就是同一个手机在同一时间内只会处于一个基站覆盖范围内;
2、同一个手机在同一个基站上多次连续登录,属于正常情况,说明该手机不断出入该基站的覆盖范围。
编写程序,读入某一天多个基站的手机登录日志信息(服务商提供的日志信息是按手机进入基站的时间排好序,详见样例输入)和一个要查找的人员手机号,查找与该人员同时空人员的手机号(即与该手机号基站相同且进入与离开时间有重叠的手机号;若一手机号的进入时间与另一手机号的离开时间完全相同,两手机号也算有重叠。)。输出与指定手机号有时空重叠的手机号及所在基站。
基站的手机登录日志信息包括:手机号(11位的数字,按字符串处理)、基站编号(一共为6个基站,分别用大写字母A、B、C、D、E、F表示)、登录时间和登出时间(用长度为6的数字串表示,例如:093756,表示9点37分56秒)。
【输入形式】
先输入手机登录日志信息的条数(小于1000条),然后按上述格式分行输入手机登录日志信息,手机号、基站编号、登录时间和登出时间之间以一个空格分隔。
【输出形式】
按照手机号由小至大进行排序,分行输出与指定手机号有时空重叠的手机号及所在基站编号,手机号与基站编号之间以一个空格分隔。手机号相同时按基站字母序排序输出。
【样例输入】
28
18222336979 F 060201 063539
18222336979 B 063601 063802
18222336979 C 063806 064607
18222336979 D 064615 065816
18222336979 A 065827 160003
18222336979 D 160013 161605
18222336979 C 161617 162633
18222336979 B 162702 172333
13810013509 C 080005 092537
13810013509 A 100356 124732
13810013509 C 125021 161619
13810013509 F 162315 163857
13810013509 B 163901 205602
13810013509 C 210509 230108
13810013509 D 230901 232556
13557912211 B 060615 080239
13557912211 E 120507 150309
13557912211 C 162633 163621
13557912211 B 163855 172209
13557912211 D 200609 230901
13985992766 A 070000 120203
13985992766 F 130506 160000
13985992766 B 160102 161503
13985992766 C 161617 163058
13985992766 E 163302 180709
13985992766 D 190005 200729
15857596331 D 000201 235051
13877882206 C 003123 220806
13557912211
【样例输出】
13810013509 B
13810013509 D
13877882206 C
13985992766 C
13985992766 D
15857596331 D
18222336979 B
18222336979 C
【样例说明】
先 输入了28条手机登录基站的日志信息,然后输入手机号13557912211,表示要查找与该手机号同时空的手机号。该手机号首先在6点6分15秒登录B 基站,在8点2分39秒登出B基站,在这个时间段内只有手机号18222336979 存在重叠;指定手机号登录登出过E基站,但没有存在重叠的手机号;指定手机号在C基站与3个手机号发生重叠,其余重叠情况类似。按照这些手机号由小至大进行排序,分行输出与指定手机号有时空重叠的手机号及所在基站编号,手机号相同时按基站字母序排序输出。
【评分标准】
该题要求查找与指定手机号同时空的手机号,提交程序名为same.c。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{char phone[12];char station;int in;int out;
}NODE;
int N;
NODE* arr;
char tar[12];
int tarnum=0;
int flag;
NODE same[100];
int samenum=0;void SameTime();
int ifHaveSame(NODE,NODE);
void Insert(NODE);
void OutPut();
int main()
{scanf("%d",&N);arr=(NODE*)malloc(sizeof(NODE)*N);for(int i=0;i<N;i++){scanf("%s %c %d %d",arr[i].phone,&arr[i].station,&arr[i].in,&arr[i].out);}scanf("%s",tar);for(int i=0;i<N;i++){if(strcmp(tar,arr[i].phone)==0){tarnum++;flag=i;while(strcmp(tar,arr[++i].phone)==0)tarnum++;break;}}SameTime();OutPut();
}
void SameTime()
{for(int i=0;i<N;i++){int cmp=strcmp(tar,arr[i].phone);if(cmp==0){int n=tarnum-1;while(n--)i++;}else{for(int j=flag;j<tarnum+flag;j++){if(arr[i].station==arr[j].station){if(ifHaveSame(arr[i],arr[j]))Insert(arr[i]);}}}}
}
int ifHaveSame(NODE a,NODE b)
{if(a.in<=b.out&&a.out>=b.in)return 1;else return 0;
}
void Insert(NODE n)
{int i=0;for(;i<samenum;i++){if(strcmp(same[i].phone,n.phone)==0&&same[i].station==n.station)return;}if(i==samenum){same[samenum++]=n;}
}
int cmp1(const void* p1,const void* p2)
{return strcmp((*(NODE*)p1).phone,(*(NODE*)p2).phone);
}
int cmp2(const void* p1,const void* p2)
{return (*(NODE*)p1).station-(*(NODE*)p2).station;
}
void OutPut()
{qsort(same,samenum,sizeof(NODE),cmp1);for(int i=0;i<samenum;i++){int start=i;int num=1;while(i+1<samenum&&strcmp(same[i].phone,same[i+1].phone)==0){i++;num++;} if(num>1)qsort(same+start,num,sizeof(NODE),cmp2);}for(int i=0;i<samenum;i++){printf("%s %c\n",same[i].phone,same[i].station);}
}
二、 老鼠回家-无回路
【问题描述】
老鼠离家去找食物,要经过不断探索才能找到食物。某老鼠非常聪明,在原路返回时能够避免找食物时多走的冤枉路,找到直接回家的路。
编写程序,读入该老鼠找食物过程中的轨迹记录,然后分析出其原路回家的最佳路径(即:走过的路,但不包括冤枉路)。在此冤枉路指的是原路返回的路;而且假设老鼠走过的路不会形成环。
算法提示:使用栈保存老鼠走过的轨迹;每当读入老鼠新的轨迹时,检查栈顶元素,判断新轨迹能否与栈顶轨迹抵消(全部或部分),然后进行入栈或出栈操作,示例见样例说明。
【输入形式】
输入为一系列老鼠轨迹。老鼠轨迹以行进方向和步数对来表示。行进方向包括:1-上、2-下、3-左、4-右,步数为一个整数值,行进方向和步数为0时表示输入结束。例如:1-4,表示向上行进4步,1和4之间为英文减号“-”。各行进步数间以一个空格分隔。最后的0-0后为换行符。老鼠行走的总步数不超过1000步。
以上图为例(图中数字为路的长度,以老鼠的步数为单位),老鼠从家开始找食物的轨迹输入如下:
1-2 3-4 1-7 2-3 4-3 3-3 2-4 4-4 1-6 4-2 2-2 1-2 3-4 1-3 0-0
【输出形式】
按照上述要求输出老鼠从食物回家的最佳路径,输出格式同输入,最后一步后有无空格均可。
【样例输入】
1-2 3-4 1-7 2-3 4-3 3-3 2-4 4-4 1-6 4-2 2-2 1-2 3-4 1-3 0-0
【样例输出】
2-3 4-2 2-8
【样例说明】
老 鼠从家出发,开始向上走,前3次轨迹后栈的状态如下图所示;轨迹4因为是往下走3步,与栈顶的往上走7步(1-7)相比较,属于原路返回的路,可以从栈顶 轨迹中核减掉,结果如下图所示;轨迹6、7、8都是往回走,结果如下图所示;其它轨迹类似,轨迹14后找到食物,最后输出原路回家的最佳路径,既将栈中的轨迹反向输出(部分轨迹要合并)。
【评分标准】
该题要求找到回家的最佳路径,提交程序名为path.c。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
enum set {UP=1,DOWN,LEFT,RIGHT};
typedef struct node
{enum set orient;int distance;
}NODE;
NODE* stack[1000];
int top=0;void Push(int,int);
int isContrast(int,int);
void Return();
int main()
{int ori,distance;scanf("%d-%d",&ori,&distance);while(ori!=0){Push(ori,distance);scanf("%d-%d",&ori,&distance);}Return();
}
void Push(int o,int d)
{NODE* new=(NODE*)malloc(sizeof(NODE));new->orient=o,new->distance=d;if(top==0){stack[top++]=new;return;}NODE* topitem=stack[top-1];int judge=isContrast(topitem->orient,o);if(judge==1){if(topitem->distance==d)top--;else if(topitem->distance>d){topitem->distance-=d;}else{topitem->orient=o;topitem->distance=d-topitem->distance;}}else{stack[top++]=new;}
}
int isContrast(int a,int b)
{if(a==UP&&b==DOWN||a==DOWN&&b==UP)return 1;if(a==LEFT&&b==RIGHT||a==RIGHT&&b==LEFT)return 1;return 0;
}
void Return()
{int i=0;for(;i<top;i++){int start=i;int num=1;while(i+1<top&&stack[i]->orient==stack[i+1]->orient){num++;stack[start]->distance+=stack[i+1]->distance;i++;}if(num>1){i=i-num+1;memmove(stack+start+1,stack+start+num,sizeof(NODE)*(top-start-num));top=top-num+1;}}for(int j=top-1;j>=0;j--){if(stack[j]->orient==UP)printf("%d-%d ",DOWN,stack[j]->distance);else if(stack[j]->orient==DOWN)printf("%d-%d ",UP,stack[j]->distance);else if(stack[j]->orient==LEFT)printf("%d-%d ",RIGHT,stack[j]->distance);else if(stack[j]->orient==RIGHT)printf("%d-%d ",LEFT,stack[j]->distance);}
}
三、函数调⽤关系
【问题描述】
给定某能正常运⾏结束的⽤户函数调⽤栈信息(当⼀个函数被调⽤时将⼊栈,当调⽤返回时,将出栈)。编写程序,对函数调⽤栈信息进⾏分析,依据函数⼊栈和出栈信息,分析函数调⽤关系,即⼀个函数调⽤了哪些不同函数。并按运⾏时调⽤序输出调⽤关系。
说明:
在⼀个函数中,同⼀函数有可能被调⽤多次,输出调⽤关系时只输出⼀次;若⼀个函数没有调⽤其它函数,则不输出调⽤关系;函数运⾏时调⽤序是指函数在调⽤栈中的出现序。程序中不存在递归调⽤。函数名符合C语⾔标识符的规定,函数名⻓度不超过20,每个函数最多调⽤不超过10个不同函数,程序中⽤户定义的函数个数不超过100。
算法提示:当⼀个函数⼊栈时,它就是当前栈顶函数调⽤的⼀个函数。
【输⼊形式】
假设⽤8表示函数⼊栈操作;⽤0表示当前函数出栈。当操作为8(⼊栈)时,输⼊形式为:
<操作> <函数名>
当操作为0(出栈)时,输⼊形式为:
<操作>
所有⼊栈操作和出栈操作都是从标准输⼊分⾏输⼊,假设调⽤栈中函数个数最多不超过200。开始时,调⽤栈为空,当调⽤栈再次为空时,输⼊结束。
【输出形式】
按运⾏时调⽤先后顺序输出函数调⽤关系到标准输出,每⾏为⼀个函数的调⽤关系信息,包括:函数名及被调⽤函数,函数与被调⽤函数间⽤⼀个英⽂冒号“:”分隔,被调⽤函数间⽤⼀个英⽂逗号“,”分隔,最后⼀个函数名后跟⼀个回⻋。若⼀个函数没有调⽤其它函数,则不输出。
【样例输⼊】
8 main
8 input
0
8 mysqrt
0
8 findA
0
8 findB
8 area
8 mysin
0
8 mycos
0
8 mysqrt
0
0
0
8 findC
8 area
8 mysin
0
0
8 mysqrt
8 max
0
0
0
8 output
0
0
【样例输出】
main:input,mysqrt,findA,findB,findC,ouput
mysqrt:max
findB:area
area:mysin,mycos,mysqrt
findC:area,mysqrt
【样例说明】
按照运⾏时调⽤函数的先后顺序,依次输出了main、mysqrt、findB、area和findC的函数调⽤关系。其中main函数调⽤了6个函数,按照运⾏时调⽤序依次输出。注意:mysqrt函数先于findB等函数出现在栈中,虽然mysqrt调⽤max较晚,但要先输出其调⽤关系。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXLEN 21
#define MAXNUM 100
typedef struct node
{char name[21];char functions[MAXNUM][MAXLEN];int funcnum;
}FUNC;
FUNC* arr[100];
int index=0;
char stack[200][MAXLEN];
int top=0;void Push();
void OutPut();
int main()
{int op;do{scanf("%d",&op);if(op==8){Push();}else if(op==0)top--;}while(top!=0);OutPut();
}
void Push()
{char func[21];scanf("%s",&func);int i=0;for(;i<index;i++){if(strcmp(arr[i]->name,func)==0)break;}if(i==index){FUNC* new=(FUNC*)malloc(sizeof(FUNC));new->funcnum=0;strcpy(new->name,func);arr[index]=new;index++;}if(top==0){strcpy(stack[top],func);top++;}else{char* topitem=stack[top-1];int i=0;for(;i<index;i++){if(strcmp(arr[i]->name,topitem)==0){int j=0;for(;j<arr[i]->funcnum;j++)if(strcmp(arr[i]->functions[j],func)==0)break;if(j==arr[i]->funcnum){strcpy(arr[i]->functions[j],func);arr[i]->funcnum++;}break;}}strcpy(stack[top],func);top++;}
}
void OutPut()
{for(int i=0;i<index;i++){if(arr[i]->funcnum){printf("%s:",arr[i]->name);int j=0;for(;j<arr[i]->funcnum-1;j++){printf("%s,",arr[i]->functions[j]);}printf("%s\n",arr[i]->functions[j]);}}
}
注:以下两道题为助教原创题目:
四、东二食堂模拟
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 200
typedef struct node
{int wtime;int starttime;int id;int face;
}STU;
STU queue[MAX];
STU wtime[MAX];
int ix=0;
int N;
int Index=0;
int Head=0;void Push(STU);
void breakqueue(int);
int upgratewtime(int);
int cmp(const void* p1,const void* p2)
{return (*(STU*)p1).id-(*(STU*)p2).id;
}int main()
{scanf("%d",&N);STU tmp;for(int i=0;i<N;i++){scanf("%d %d %d",&tmp.starttime,&tmp.id,&tmp.face);tmp.wtime=tmp.starttime;Push(tmp);}int second=queue[0].starttime;for(;;second++){breakqueue(second);if(queue[Head].starttime<=second)wtime[ix++]=queue[Head++];if(!upgratewtime(second)&&Head==N)break;}qsort(queue,N,sizeof(STU),cmp);for(int i=0;i<N;i++){printf("%d %d\n",queue[i].id,queue[i].wtime);}return 0;
}
int upgratewtime(int sec)
{ int i=Head;int flag=0;for(;i<N&&queue[i].starttime<=sec;i++){queue[i].wtime++;flag=1;}return flag;
}
void breakqueue(int sec)
{int i=Head+1;for(;i<N;i++){if(queue[i].starttime==sec){if(i-Head<queue[i].face){STU tmp=queue[i];memmove(queue+1+Head,queue+Head,sizeof(STU)*(i-Head));queue[Head]=tmp;}}}
}
void Push(STU s)
{if(Index==0){queue[Index]=s;Index++;return;}int i=Index-1;int j=i;for(;j>=0;j--){if(queue[j].starttime>s.starttime)queue[j+1]=queue[j];else{queue[j+1]=s;Index++;break;}}if(j==-1){queue[0]=s;Index++;}
}
五、栈帧
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{char name[50];int frame;
}FUNC;
typedef struct state
{FUNC stack[100];int frametotal;int funcnum;
}STATE;FUNC stack[100];
int top=-1;
FUNC functions[20];
STATE S[100];
int indexst=0;
int N;void Insert();
int find(char*);
void updatestate();
int cmp1(const void* p1,const void*p2)
{return (*(STATE*)p2).funcnum-(*(STATE*)p1).funcnum;
}
int cmp2(const void* p1,const void*p2)
{return (*(STATE*)p2).frametotal-(*(STATE*)p1).frametotal;
}
void output();int main()
{scanf("%d",&N);if(N==0){printf("0\n");printf("0");return 0;}for(int i=0;i<N;i++){scanf("%s %d",&functions[i].name,&functions[i].frame);}char ope[20];do{scanf("%s",ope);if(strcmp(ope,"call")==0){Insert();updatestate();}else if(strcmp(ope,"return")==0){top--;updatestate();}else if(strcmp(ope,"frame")==0){int x;scanf("%d",&x);int j=top-x;for(int w=0;w<j;w++){top--;}updatestate();}}while(top!=-1);output();
}
void Insert()
{char ope_func[50];scanf("%s",ope_func);int frame=find(ope_func);++top;strcpy(stack[top].name,ope_func);stack[top].frame=frame;}
void updatestate()
{memcpy(S[indexst].stack,stack,sizeof(FUNC)*(top+1));S[indexst].funcnum=top+1;S[indexst].frametotal=0;for(int i=0;i<top+1;i++){S[indexst].frametotal+=stack[i].frame;}indexst++;
}
int find(char* tar)
{for(int i=0;i<N;i++){if(strcmp(functions[i].name,tar)==0)return functions[i].frame;}
}
void output()
{qsort(S,indexst,sizeof(STATE),cmp1);int a=S[0].funcnum;printf("%d\n",a);for(int i=0;i<a;i++){printf("%s(%d) ",S[0].stack[i].name,S[0].stack[i].frame);}printf("\n");qsort(S,indexst,sizeof(STATE),cmp2);int b=S[0].funcnum;int c=S[0].frametotal;printf("%d\n",c);for(int i=0;i<b;i++){printf("%s(%d) ",S[0].stack[i].name,S[0].stack[i].frame);}
}
相关文章:
考前刷题练手感(北航期末往年数据结构编程题)
本次因为是考前一天极速刷题,所以没有讲解,若有问题可私信。 目录 一、 查找同时空人员二、 老鼠回家-无回路三、函数调⽤关系四、东二食堂模拟五、栈帧 一、 查找同时空人员 【问题描述】 假设一共有6个手机基站,都具有记录手机连接基站状…...
Android记录9--实现转盘效果
自定义View /2013.10.16_TurnPlate_Demo/src/com/wwj/turnplate/TurnPlateView.java package com.wwj.turnplate; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…...
【Oracle APEX开发小技巧1】转换类型实现显示小数点前的 0 以 及常见类型转换
在 apex 交互式式网格中,有一数值类型为 NUMBER,保留小数点后两位的项,在 展示时小数点前的 0 不显示。 效果如下: 转换前: m.WEIGHT_COEFFICIENT 解决方案: 将 NUMBER(20,2…...
GRIT论文阅读笔记
一篇试图统一生成任务和编码任务的工作,就是把只能完成生成任务的GPT改成既能生成又能encode。思路其实很简单,就是在输入的时候添加instruction tokens来指引模型做representation还是generation,然后各自算损失。representation任务用的是d…...
1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页
一、源码特点 python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 开发环境pycharm…...
基于IDEA的Maven(依赖介绍和引用)
如何通过一个坐标信息(依赖)去引用 ,某个"jar 包" 会在这篇博客进行学习。 目录 一、学习开始 (0)项目的结构组成和 "pom.xml" 文件内容。 (1)首先需要一个标签…...
pytest测试框架pytest-sugar插件生成进度条
Pytest提供了丰富的插件来扩展其功能,介绍下插件pytest-sugar,可以帮助我们在控制台中显示彩色的测试结果和进度条,提供失败的堆栈回溯信息。 为了使用 pytest-sugar,需要满足以下条件: Python 3.8 或更高版本pytest…...
若依框架集成微信支付
1. 添加微信支付相关依赖 <!-- 微信支付 --> <dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version> </dependency> <dependency><groupId>com.gi…...
IOS开发学习日记(十七)
简单的第三方登录和分享功能 第三方登录系统 URL Scheme:App间的跳转及通信 App间跳转场景 登陆系统: 跨平台,跨App 标记用户,个性化的推送 使用第三方登录(减少注册成本 / 无须维护敏感信息) 微信 / Q…...
【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】
文章目录 ARM NEONNEON 向量寄存器NEON 寄存器使用方式NEON 寄存器的视图NEON 寄存器别名NEON 寄存器的用途ARM NEON 在ARMv8架构中,引入了一组新的寄存器,称为向量寄存器(Vector Registers),用于支持高效的向量和浮点计算。这些寄存器是SIMD(Single Instruction, Multi…...
LayoutSystem布局系统
简介: LayoutSystem,是UGUI中由CanvasUpdateSystem发起(m_LayoutRebuildQueue中大部分都是LayoutRebuilder)的关于布局排列的处理系统。 类图: 布局过程 核心代码讲解: LayoutRebuilder...
滚球游戏笔记
1、准备工作 (1) 创建地面:3D Object-Plane,命名为Ground (2) 创建小球:3D Object-sphere,命名为Player,PositionY 0.5。添加Rigidbody组件 (3) 创建文件夹:Create-Foder,分别命名为Material…...
Mysql8死锁排查
Mysql8死锁排查 Mysql8 查询死锁的表 -- 查询死锁表select * from performance_schema.data_locks;-- 查询死锁等待时间select * from performance_schema.data_lock_waits;Mysql8之前的版本 查询死锁的表 -- 查询死锁表SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;-- 查询…...
程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
决策树不仅在人工智能领域发挥着他的作用,而且在数据挖掘中也在分类领域中独占鳌头。了解决策树的思想是学习数据挖掘中的分类算法的关键,也是学习分类算法的基础。 什么是决策树 用术语来说,决策树(Decision Tree)是…...
数据通信与网络(五)
交换机功能: 地址学习(端口/MAC地址映射表) 通信过滤(基于端口/MAC地址映射表) 生成树协议(断开环路) 隔离冲突域 生成树协议 隔离冲突域 交换机配置模式(用不同级别的命令对交换机进行配置) 普…...
数据中心容灾考题
abc cd abc c为啥...
win10远程桌面连接端口,远Win10远程桌面连接端口修改及无法连接解决方案
一、Win10远程桌面连接端口概述 Win10远程桌面连接功能允许用户从远程位置访问和控制另一台计算机。远程桌面连接默认使用TCP 3389端口,但出于安全或其他需求,用户可能希望修改此端口。 二、Win10远程桌面连接端口修改方法 要修改Win10远程桌面连接的…...
基于AT89C52单片机的温度报警系统
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89456321?spm=1001.2014.3001.5503 仿真构造:AT89C52+DS18B20温度模块+三按键+蜂鸣器+四位数码管显示+电源模块。 压缩包构造:源码+仿真图+设计文档+原理图+开题文档+元件…...
[保姆级教程]uniapp配置vueX
文章目录 注意新建文件简单的使用 注意 uniapp是支持vueX的只需配置一下就好 新建文件 在src文件中,新建一个store(如果有的话跳过) 在store中新建一个js文件,修改js文件名称和选择模板为default 在 uni-app 项目根目录下&…...
第二次IAG
IAG in NanJing City 我与南京奥体的初次相遇,也可能是最后一次! 对我来说,IAG 演唱会圆满结束啦! 做了两场充满爱[em]e400624[/em]的美梦 3.30号合肥站,6.21号南京站[em]e400947[/em] 其实,没想到昨天回去看呀!(lack of money […...
智慧校园综合管理系统的优点有哪些
在当今这个信息化飞速发展的时代,智慧校园综合管理系统正逐步成为教育领域的一股革新力量,它悄然改变着我们对传统校园管理的认知。这套系统如同一个无形的桥梁,将先进的信息技术与学校的日常运作紧密相连,展现出多维度的优势。 …...
如何跳出认知偏差,个人认知能力升级
一、教程描述 什么是认知力?认知力(cognitive ability),实际上就是指一个人的认知能力,是指人的大脑加工、储存和提取信息的能力,或者主观对非主观的事物的反映能力,如果变成大白话,…...
Scala中的map函数
Scala中的map函数 在 Scala 中,map 是一种常见的高阶函数,用于对集合中的每个元素应用一个函数,并返回应用了该函数后的新集合,保持原始集合的结构不变。它的主要作用有以下几点: 1. 遍历集合: map 可以遍历…...
linux安装conda环境实践
Conda介绍 conda 是一个开源的软件包管理系统和环境管理软件,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 conda 分为 anaconda 和 miniconda,anaconda 是一个包含了许多常用库的集合版本,miniconda 是精简版…...
Flutter-实现头像叠加动画效果
实现头像叠加动画效果 在这篇文章中,我们将介绍如何使用 Flutter 实现一个带有透明度渐变效果和过渡动画的头像叠加列表。通过这种效果,可以在图片切换时实现平滑的动画,使 UI 更加生动和吸引人。 需求 我们的目标是实现一个头像叠加列表&…...
MSPM0G3507——特殊的串口0
在烧录器中有串口0,默认也是串口0通过烧录线给电脑发数据。 如果要改变,需要变一下LP上的跳线帽。 需要更改如下位置的跳线帽...
如何选择合适的大模型框架:LangChain、LlamaIndex、Haystack 还是 Hugging Face
节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…...
TCP 协议详解:三次握手与四次挥手
在网络通信中,确保数据准确无误地传递是至关重要的。TCP(Transmission Control Protocol,传输控制协议)作为一种面向连接的、可靠的、基于字节流的通信协议,在网络数据传输中起到了核心作用。本文将详细解析 TCP 的基本…...
Matlab 单目相机标定(内置函数,棋盘格)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 具体的标定原理可以参阅之前的博客Matlab 单目相机标定(内置函数),这里实现对棋盘格数据的标定过程。 二、实现代码 getCameraCorners.m function [camCorners, usedImIdx, imCheckerboard] = getCameraCorners(…...
C语言第17篇:预处理详解
1、预定义符号 C语言设置了一些预定义符号,可以直接使用。预定义符号也是在预处理期间处理的。 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI…...
用 Git 玩转版本控制
前言 Git,作为当今最流行的版本控制系统,不仅深受程序员们的青睐,也逐渐成为非开发人员管理文档版本的强大工具。本文将从实用主义的角度出发,深入浅出地介绍 Git 的常用命令,并带领大家探索 Git 的高级功能ÿ…...
AJAX中get和post的区别
在AJAX(Asynchronous JavaScript and XML)中,GET 和 POST 是两种常用的HTTP请求方法,它们之间存在一些关键的区别。以下是这些区别的主要点: 请求的目的: GET:通常用于从服务器检索(…...
软件测试笔记
一、介绍 软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。 1、软件缺陷是什么? 软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。 缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说…...
Elasticseach RestClient Api
Elasticsearch RestclientApi基础用法 查询 索引库 初始化 添加依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency>创建链接 package com…...
【网络安全学习】漏洞扫描:-04- ZAP漏洞扫描工具
**ZAP(Zed Attack Proxy)**是一款由OWASP组织开发的免费且开源的安全测试工具。 ZAP支持认证、AJAX爬取、自动化扫描、强制浏览和动态SSL证书等功能。 1️⃣ 安装zap工具 现在的kali版本不一定会预装zap,我们可以自行安装,安装也十分简单。 apt-get …...
fffdddd
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity GJL isport(clk, reset: in std_logic;btn_green, btn_red: in std_logic; -- 新增控制按键r1, r2, y1, y2, g1, g2: out std_logic;ledag: out std_logic_…...
SpringSecurity实战入门——授权
权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是…...
Linux 网络请求工具:curl
文章目录 Linux 网络请求:curl1. 安装2. 常规用法3. 传输速率4. FTP5. 代理 Linux 网络请求:curl 1. 安装 若系统没有 curl 命令,可以直接通过 yum 或者 dnf 安装: yum -y install curl # 查看版本,确认安装结果 cu…...
leetcode 二分查找·系统掌握 寻找旋转排序数组中的最小值II
题目: 题解: 本题比普通的寻找旋转排序数组中的最小值多了一个数组中的元素可以重复这一点。 这会时原来的思路出现一个漏洞(大家感兴趣可以看看我做普通版寻找旋转排序数组最小值的思路),就是旋转后的数组中的第二个…...
Flink 容错
Apache Flink 的容错机制是确保数据流应用程序在出现故障时能够恢复一致状态的关键机制。这一机制主要通过创建分布式数据流和操作符状态的一致快照来实现,这些快照被称为检查点(Checkpoint)。以下是 Flink 容错机制的主要特点和关键点&#…...
OpenAI策略:指令层级系统让大模型免于恶意攻击
现代的大模型(LLMs)不再仅仅是简单的自动完成系统,它们有潜力赋能各种代理应用,如网页代理、电子邮件秘书、虚拟助手等。然而,这些应用广泛部署的一个主要风险是敌手可能诱使模型执行不安全或灾难性的行动,…...
芝麻清单助力提升学习工作效率 专注时间完成有效的待办事项
芝麻清单助力提升学习&工作效率 专注时间完成有效的工作。今天我们给大家带来一个专注清单,一个更高效的学习和工作的方法! 我们都知道,专注做一个事情,会有效的提升效率,让事情更高效的完成。如果是学习的话&…...
Docker 容器操作命令
文章目录 前言1. 创建并运行容器2. 列出容器3. 停止容器4. 启动已停止的容器5. 重启容器6. 进入容器7. 删除容器8. 查看容器日志9. 导出和导入容器10. 管理网络11. 数据卷操作12. 设置容器自启动 前言 Docker 容器操作是 Docker 使用过程中非常重要的一部分。以下是一些常见的…...
华为配置创建vlan及划接口,trunk干道,DHCP池塘配置
1、创建 vlan [SWA]vlan 10 [SWA-vlan10]quit [SWA]vlan batch2to3510 批量创建vlan2-3,5.10 2、 接口划入 vlan 单个接口修改接口模式为 access [SWA]interface GigabitEthernet 0/0/5 [SWA-GigabitEthernet0/0/5]port link-type access 批修改为 access [H…...
vue3 computed与watch,watchEffect比较
相同点 都是要根据一个或多个响应式数据进行监听 不同点 computed 如要return回来一个新的响应式值,且这个值不允许直接修改,想要修改的话可以设置set函数,在函数里面去修改所依赖的响应式数据,然后计算属性值会基于其响应式依…...
论文:R语言数据分析之机器学习论文
欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 一、研究背景 全球范围内,乳腺癌是导致癌症发病率和死亡率的主要疾病之一。根据2018年…...
【C++】STL中优先级队列的使用与模拟实现
前言:在前面我们学习了栈和队列的使用与模拟实现,今天我们来进一步的学习优先级队列使用与模拟实现 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代码仓库:卫…...
C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用
C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例:集合查询示例: 1. 基本语法从主体语句上区分:1. 主体为单一表达式2. 主体是代码块(多个表达式语句) 从参数上区分1. 带输入参数的…...
Qt底层原理:深入解析QWidget的绘制技术细节(2)
(本文续上一篇《Qt底层原理:深入解析QWidget的绘制技术细节(1)》) QWidget绘制体系为什么这么设计【重点】 在传统的C图形界面框架中,例如DUILib等,控件的绘制逻辑往往直接在控件的类的内部,例如PushButt…...
【Gradio】表格数据科学与图表-连接到数据库
简介 本指南解释了如何使用 Gradio 将您的应用程序连接到数据库。我们将连接到托管在 AWS 上的 PostgreSQL 数据库,但 gradio 对您连接到的数据库类型及其托管位置完全不可知。因此,只要您能够编写 Python 代码来连接到您的数据,您就可以使用…...