牛客网刷题篇

2024-03-04 1203阅读

温馨提示:这篇文章已超过383天没有更新,请注意相关的内容是否还可用!

 牛客网刷题篇

作者:敲代码の流川枫

博客主页:流川枫的博客

专栏:C语言从入门到进阶

语录:Stay hungry stay foolish

工欲善其事必先利其器,给大家介绍一款超牛的斩获大厂offer利器——牛客网

点击免费注册和我一起刷题吧 

文章目录

1. 矩阵转置

2. 上三角矩阵判定

3. 有序序列判断

4. 小乐乐与欧几里得 

5. 空心正方形图案

6. 箭形图案

7. 公务员面试

点击免费注册后点击下方标题来刷题吧

1. 矩阵转置

牛客网刷题篇

 

 解题思路

在输入矩阵a的时候,同时将对应值赋给转置矩阵b,最后输出即可

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	int n = 0;
	int m = 0;
	int i = 0;
	int j = 0;
	int arr[10][10] = { 0 };
	scanf("%d %d", &n,&m);
	for (int i = 0; i  
 

牛客网刷题篇

2. 上三角矩阵判定

牛客网刷题篇

解题思路

对角线下方元素都为0则是上三角形矩阵,注意循环条件的控制

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	int n = 0;
	int i = 0;
	int j = 0;
	int arr[10][10] = { 0 };
	scanf("%d", &n);
	for (int i = 0; i  
 

牛客网刷题篇

 每道题都有很多不同的解法,也有很多人分享自己的解题思路,可以讨论,见识到许多不同的思路,这也是我很喜欢牛客的原因之一

3. 有序序列判断

牛客网刷题篇

 解题思路

当有一个数比下一个数大时,将flag1置为1;当有一个数比下一个数小时,flag2置为1;遍历结束,flag1+flag2>1则说明数组是无序的

  

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int flag1 = 0;
	int flag2 = 0;
	int arr[100] = { 0 };
	for (i = 0; i  0)
		{
			if (arr[i] > arr[i - 1])
			{
				flag1 = 1;
			}
			else if(arr[i]

牛客网刷题篇

牛客还支持各种语言,让你刷题没烦恼,还可以看排行里其他人的解法,总是会有很多解题的思路会让你受益

4. 小乐乐与欧几里得

牛客网刷题篇

 解题思路

求最大公约数常用的有两种方法,一是九章算术中的更相减损术:大数减小数直到相等,相等的数即最大公约数,该算法时间复杂度约为O(N);二是欧几里得的辗转相除法:大数除以小数取余数(相当于模运算),直到余数为零时(也即模运算为零时)的除数(也即模数)就是最大公约数,该算法时间复杂度约为O(logN)

求最小公倍数的方法:原始数据的乘积除以最大公约数

还要注意根据输入数据的范围确定变量的类型,否则会出现溢出

#define _CRT_SECURE_NO_WARNINGS
#include
long long f(long long a, long long b)
{
	long long c = 0;
	long long d = 1;
	while (d)
	{
		c = a / b;
		d = a % b;
		a = b;
		b = d;
	}
	return a;
}
int main()
{
	long long a = 0;
	long long b = 0;
	long long ret = 0;
	long long e = 0;
	scanf("%lld%lld", &a, &b);
	if (a > b)
	{
		ret=f(a, b);
	}
	else
	{
		ret=f(b, a);
	}
	e = (a * b) / ret;
	printf("%lld\n", e + ret);
	return 0;
}

牛客网刷题篇

 还有个强大的功能就是这里有许多大佬面试的经验,可以让我们了解大厂面试是什么样的

5. 空心正方形图案

牛客网刷题篇

解题思路

注意循环条件的控制

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	 int n = 0;
	 while (scanf("%d",&n) != EOF)
	 {
		 int i = 0;
		 int j = 0;
		 for (i = 0; i  
 

 

牛客网刷题篇

还有海量求职信息,为你的求职之路保驾护航 

6. 箭形图案

牛客网刷题篇

 解题思路

本题可以将该图案拆分成上下两部分,对于上半部分设置space,star变量记录空格和星号的个数,然后对应自增和自减,然后补全后面的空格公式可以写成2*n+1-space-star

下半部分同理,重置space和star变量,然后对于自增和自减,补全空格输出即可

#include 
using namespace std;
int main() {
    int n = 0;
    //循环读入n
    while(scanf("%d", &n) != EOF) {
        //设置space,star值的初始值
        int space = 2*n;
        int star = 1;
        //外循环开始遍历每一行
        for(int i = 0; i  
 

7. 公务员面试

牛客网刷题篇

 

解题思路

输入一个数时,就判定他的大小,并赋值给max,min,且用sum求和,输入数量等于7时,sum减去max,min,求出平均数即可

#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
	int n = 0;
	int score = 0;
	int max = 0;
	int min = 100;
	int  sum = 0;
	while (scanf("%d", &score)==1)
	{
		n++;
		if (score > max)
			max = score;
		if (score  
 
 
 

“ 本期的分享就到这里了, 记得给博主一个三连哈,你的支持是我创作的最大动力!想要距离大厂更进一步吗?” 

点击免费注册和我一起刷题吧 

牛客网刷题篇

 

 

 

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]