考核题总结

考核题总结

第一题 数组

  • 给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。
    示例:
    输入:3 接下来输入的元素个数
    3,0,1
    输出: 2
    思路: 先对所给数组进行排序,对排序后数组进行遍历,遍历时如果与条件不符,则直接输出并break。
#include<stdio.h>
int main(){
	int i, n, j, temp;
	scanf("%d", &n);
	int a[1000];
	for(i = 0; i < n; i++){//输入
		scanf("%d", &a[i]);
	} 
	for(i = 0; i < n; i++){//排序
		for(j = i; j < n; j++){
			if(a[i] > a[j]){
				temp = a[j];
				a[j] = a[i];
				a[i] = temp;
			}
		}
	}
	for(i = 0; i < n+1; i++){//判断是否满足条件
		if(a[i] != i){
			printf("%d", i);//输出
			break;//跳出循环
		}
	}
	return 0;
} 

第二题 二分法查找

  • 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
    此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
    示例:
    输入:
    6
    2 0 2 1 1 0
    输出: 0 0 1 1 2 2
    类似题目:75. 颜色分类
    思路:总体思路为二分法,用三个指针进行遍历,一个指向最右端结点,一个指向最左端结点,还有一个指向当前结点,如果当前节点所指向的数组为0,则和最左端指针进行交换,当前指针后移,并且最左边指针右移;如果当前结点所指向的值为1,当前节点后移,不进行交换;如果当前结点指向的值为2,则和最右端指针进行交换,此时当前结点不移动。
#include<stdio.h>
int main(){
	int i, j, n, temp;
	scanf("%d", &n);
	int a[n];
	for(i = 0; i < n; i++){
		scanf("%d", &a[i]);
	}
	int left = 0, right = n - 1;
	i = 0;
	while(left < right && i <= right){
		if(a[i] == 0){//0应位于数组最前面,让它与left指向的值交换
			temp = a[i];
			a[i] = a[left];
			a[left] = temp;
			left++;//因为i和left都是从0开始的,所以left的值遍历过,可以直接后移动
			i++;
		}
		else if(a[i] == 2){//2位于数组的最后端,让他与right指向的值进行交换
			temp = a[i];
			a[i] = a[right];
			a[right] = temp;
			right--;//没有i++因为要再次进行判断,right为i后面的元素,不知道它的值是多少
		}
		else i++;//如果i指向的值为1 ,则后移继续判断
	}
	for(i = 0; i < n; i++){
		printf("%d ", a[i]);
	}
	return 0;
}

第三题 反转链表

要求:不创建新的链表结点。
示例:
输入: 1 2 3 4 5 -1
输出: 5 4 3 2 1
类似题目:24. 反转链表
思路:先用尾插法创立链表,接着运用双指针,将链表两个节点之间的指针反向,最后返回变化后的链表。

/*
struct ListNode {
    int val;
    struct ListNode *next;
};
*/
struct ListNode *change(struct ListNode *head){
	struct ListNode *p, *q, *temp;
	q = NULL;
	temp = head;
	p = head->next;
	while(temp){
		p = temp->next; 
		temp->next = q;
		q = temp;
		temp = p;
	}
	print(q);
	return q;
}

第四题 判断回文链表

示例:
输入: 1 2 -1
输出: false
类似题目:234. 回文链表
思考:先用快慢指针判断链表的中点,之后将中点之后的链表进行反转形成一个新的链表,再对两个链表的每个结点进行判断,如果相等则指针后移,否则输出false并直接返回。

/*
struct ListNode {
    int val;
    struct ListNode *next;
};
*/
struct ListNode *change(struct ListNode *head){
	struct ListNode *p, *q, *temp;
	q = NULL;
	temp = head;
	p = head->next;
	while(temp){
		p = temp->next; 
		temp->next = q;
		q = temp;
		temp = p;
	}
	print(q);
	return q;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值