东方博宜oj答案

这篇具有很好参考价值的文章主要介绍了东方博宜oj答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

这份文章会尽量多的收录东方博宜oj中的题目,会从最简单开始做起(博主只是一个学C++几个月还并非计算机专业也没有参加过信息竞赛的蒟蒻罢了),有的题简单的没有一点技术性可言(比如说手算出结果然后直接cout或者只用几个if语句就搞定的),但为了追求完整度还是基本上都写下来了,毕竟copy了可以直接粘贴然后刷AC(大雾),最后希望大家可以喜欢,再次重申本人真的只是初学者所以看到脑瘫的题解请不要喷我谢谢。

后续还会继续出关于东方博宜oj的答案,想要了解更多也欢迎关注谢谢!!!!!(orz)

1000

#include <iostream>
using namespace std;
int main()
{
    int a;
    int b;
    cin >> a >> b;
    cout << a+b;
    return 0;
}

1002

#include <iostream>
using namespace std;
int main()
{
	int a;
	cin >> a;
	int sum = 0;
	for (int i = 1; i <= a; i++)
	{
		sum += i;
	}
	cout << sum;
	return 0;
}

1003

#include <iostream>
using namespace std;
int main()
{
	int a;
	cin >> a;
	int sum = 0;
	for (int i = 1; i <= a; )
	{
		sum += i;
		i += 2;
	}
	cout << sum;
	return 0;
}

1004

#include <iostream>
using namespace std;
int main()
{
	int a;
	cin >> a;
	int sum = 1;
	for (int i = 1; i <= a; i++)
	{
		sum *= i;
	}
	cout << sum;
	return 0;
}

1005

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	const double PI = 3.1415926;
	int a;
	cin >> a;
	cout << fixed << setprecision(2) << PI * a * a << endl;
	cout << fixed << setprecision(2) << 2 * PI * a;
	return 0;
}

1006

这道题是我觉得在前面的嵌套循环题或者说是前面的题中我觉得比较难的一道了,考虑的时间会稍微长一点,毕竟它要有三个一样的东西,但是只要慢下心来拿笔谢谢其实还是比较简单的。

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= 6 * n - 3; j++)
		{
			if ((j >n-i && j < n+i) || (j > 3*n-i-1 && j < 3*n+i-1) || (j > 5 * n - i - 2 && j < 5 * n + i-2))
			{
				cout << "*";
			}
			else
			{
				cout << " ";
			}
		}
		cout << endl;
	}
	return 0;
}

1007

#include <iostream>
using namespace std;
int main()
{
	char a[80];
	int num = 0;
	int num2 = 0;
	for (int i = 0; i < 80; i++)
	{
		cin >> a[i];
		num++;
		if (a[i] == '.')
		{
			break;
		}
	}
	for (int i = 0; i < num; i++)
	{
		if ((int)a[i] >= 65 && (int)a[i] <= 90)
		{
			num2++;
		}
	}
	cout << num2;
	return 0;
}

采用了强转将字母转成了ASCII码,A到Z对应ASCII码是65-90.不过这样子获取字符有一个缺点,就是如果重新输出的话空格是打不出来的,在网上找到了getchar()的一些用法但还没玩明白,等我慢慢学呜呜呜呜呜呜。

1008

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= 2 * n + 1; j++)
		{
			if (j>n-i&&j<n+i)
			{
				cout << i;
			}
			else
			{
				cout << " ";
			}
		}
		cout << endl;
	}
	return 0;
}

注意换行的位置

1009

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int a[101];
	for (int i = 0; i < n; i++)
	{
		cin >> a[i];
	}
	for (int i = n-1; i >= 0; i--)
	{
		cout << a[i] << " ";
	}
	return 0;
}

1010

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int* p = new int[n];
	for (int i = 0; i < n; i++)
	{
		cin >> p[i];
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n - i - 1; j++)
		{
			if (p[j] > p[j + 1])
			{
				int temp = p[j + 1];
				p[j + 1] = p[j];
				p[j] = temp;
			}
		}
	}
	for (int i = 0; i < n; i++)
	{
		cout << p[i] << " ";
	}
	delete[]p;
	return 0;
}

冒泡排序法,当然用sort可以更快,权当复习一下冒泡,在堆区开辟内存的话记得delete

1011

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int i, j;
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= n - i; j++)
		{
			cout << " ";
		}
		if (i == 1)
		{
			for (j = 1; j <= n; j++)
			{
				cout << "*";
			}
		}
		else
		{
			cout << "*";
			for (j = 1; j <= n + 2 * (i - 2); j++)
			{
				cout << " ";
			}
			cout << "*";
		}
		cout << endl;
	}
	for (i = n - 1; i >= 1; i--)
	{
		for (j = 1; j <= n - i; j++)
		{
			cout << " ";
		}
		if (i == 1)
		{
			for (j = 1; j <= n; j++)
			{
				cout << "*";
			}
		}
		else
		{
			cout << "*";
			for (j = 1; j <= n + 2 * (i - 2); j++)
			{
				cout << " ";
			}
			cout << "*";
		}
		cout << endl;
	}
	return 0;
}

1011本质也是嵌套循环的使用,不过可能在分类上比较复杂一点,这是东方博宜oj上的题解

1012是前五十题里最有挑战性的一道,也是最具价值的一道

1012

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
	string str1;
	string str2;
	int num1 = 0;
	int word_number = 1;
	int nearest = 9999;
	int num2 = 0;//记录空格个数
	getline(cin, str1);
	getline(cin, str2);//这两个用来接收字符串
	str2 = " " + str2 ;//最重点!!在前面添加空格证明是单词,不然this中的is会被误判
	int a = str1.find(str2);//找到匹配的位置
	if (a >= 0)
	{
		for (int i = 0; i < str1.size(); i++)
		{
			if (str1[i] == ' ')
			{
				num2++;
				if (abs(i - a) < nearest)
				{
					nearest = abs(i - a);//空格离单词最近
					if (nearest == 0)
					{
						break;//0就是最近,不可能更小,直接break跳出循环
					}
				}
			}
		}
		cout << num2 + 1;//单词是空格个数的下一个,所以加一
	}
	else if (a < 0)
	{
		for (int i = 0; i < str1.size(); i++)
		{
			if ((str1[i] > 64 && str1[i] < 91) || (str1[i] > 96 && str1[i] < 123))//ASCII码中字母对应的值
			{
				num1++;
			}
		}
		cout << num1;
	}
	return 0;
}

1013

#include <iostream>
using namespace std;
int main()
{
	int t, x;
	for (int i = 100007; i < 999999; i += 10)
	{
		int t = i / 10;
		int x = 700000 + t;
		if (x % i == 0 && x / i == 4)
		{
			cout << i;
		}
	}
	return 0;
}

1014

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	int n;
	cin >> n;
	double sum = 0;
	for (double i = 1; i <= n; i++)
	{
		sum += 1.0 / i;
	}
	cout << fixed << setprecision(3) << sum;
	return 0;
}

1015

#include <iostream>
using namespace std;
int main()
{
	cout << 20 << " " << 30;
	return 0;
}

1016

#include <iostream>
using namespace std;
int main()
{
	int X, A, B;
	cin >> X >> A >> B;
	int num = 0;
	for (int i = 1; i <X/A+1; i++)
	{
		for (int j = 1; j <=X/B+1; j++)
		{
			if (i * A + j * B == X)
			{
				num++;
			}
		}
	}
	cout << num;
	return 0;
}

1017

#include <iostream>
using namespace std;
int main()
{
	cout << 173;
	return 0;
}

1018

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
	int a[3];
	for (int i = 0; i < 3; i++)
	{
		cin >> a[i];
	}
	sort(a, a + 3);
	if (a[0] + a[1] > a[2] && pow(a[0], 2) + pow(a[1], 2) > pow(a[2], 2))
	{
		cout << "ruijiao";
	}
	else if (a[0] + a[1] > a[2] && pow(a[0], 2) + pow(a[1], 2) == pow(a[2], 2))
	{
		cout << "zhijiao";
	}
	else if (a[0] + a[1] > a[2] && pow(a[0], 2) + pow(a[1], 2) < pow(a[2], 2))
	{
		cout << "dunjiao";
	}
	else
	{
		cout << "no";
	}
	return 0;
}

1019

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int sum = 0;
	int num = 1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = i; j > 0; j--)
		{
			num *= j;
		}
		sum += num;
		num = 1;
	}
	cout << sum;
	return 0;
}

1020

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int sum = 0;
	int a, b, c;
	a = n / 100;
	b = n % 100 / 10;
	c = n % 100 % 10;
	sum = n + 100 * c + 10 * b + a;
	cout << sum;
	return 0;
}

1021

#include <iostream>
using namespace std;
int main()
{
	for (int i = 1; i <= 500; i++)
	{
		if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2)
		{
			cout << i << endl;
		}
	}
	return 0;
}

1022

#include <iostream>
using namespace std;
int main()
{
	for (int i = 1; i <= 20; i++)
	{
		for (int j = 30; j >= 0; j--)
		{
			if (7 * i + 4 * j == 100&&(100-i-j)%3==0)
			{
				cout << i << " " << j << " " << 100 - i - j << endl;
			}
		}
	}
	return 0;
}

1023

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int num = 0;
	if (n == 1)
	{
		cout << "F";
	}
	for (int i = 2; i < sqrt(n); i++)
	{
		if (n % i == 0&&n/i!=1&&n>=2)
		{
			num = 1;
			cout << "F";
			break;
		}
	}
	if (num == 0&&n>=2)
	{
		cout << "T";
	}
	return 0;
}

1024

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int num = 0;
	for (int i = 1; i <= 63; i++)
	{
		for (int j = 1; j <= 250; j++)
		{
			for (int k = 1; k <= 500; k++)
			{
				if (i + j + k > 30 && 8 * i + 2 * j + k == 10 * n)
				{
					num++;
				}
			}
		}
	}
	cout << num;
	return 0;
}

1025

#include <iostream>
using namespace std;
int main()
{
    cout << 461;
    return 0;
}

1026

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	cout << a / b << " " << a % b;
	return 0;
}

1027

#include <iostream>
using namespace std;
int main()
{
	int n, n1, g, s, b;
	cin >> n;
	g = n % 10;
	s = n % 100 / 10;
	b = n / 100;
	n1 = g + s + b;
	cout << n1;
	return 0;
}

1028

#include <bits/stdc++.h>
using namespace std;     
int main(){
	int n,n1,g,s,b;
	cin>>n;
	g=n%10;
	s=n%100/10;
	b=n/100;
	n1=g*100+s*10+b;
	cout<<n1;
	return 0;
}

1029

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int a = n / 1000;
	int b = n % 1000 / 100;
	int c = n % 1000 % 100 / 10;
	int d = n % 1000 % 100 % 10;
	cout << 1000 * d + 100 * c + 10 * b + a;
	return 0;
}

1030

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	if (a % b == 0)
	{
		cout << a / b;
	}
	else if (a % b != 0)
	{
		cout << a / b + 1;
	}
	return 0;
}

1031 

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	double n;
	cin >> n;
	double f = (9 * n + 160) / 5.0;
	cout << fixed << setprecision(2) << f;
	return 0;
}

1032

#include <iostream>
using namespace std;
int main()
{
	int a, b, c, d, e;
	cin >> a >> b >> c >> d >> e;
	if (a / 3 == 0)
	{
		a = 0;
	}
	else
	{
		a = (a - a % 3) / 3;
		b += a;
		e += a;
	}
	if (b / 3 == 0)
	{
		b = 0;
	}
	else
	{
		b = (b - b % 3) / 3;
		c += b;
		a += b;
	}
	if (c / 3 == 0)
	{
		c = 0;
	}
	else
	{
		c = (c - c % 3) / 3;
		d += c;
		b += c;
	}
	if (d / 3 == 0)
	{
		d = 0;
	}
	else
	{
		d = (d - d % 3) / 3;
		c += d;
		e += d;
	}
	if (e / 3 == 0)
	{
		e = 0;
	}
	else
	{
		e = (e - e % 3) / 3;
		a += e;
		d += e;
	}
	cout << a << " " << b << " " << c << " " << d << " " << e;
	return 0;
}

很sb的做法....只能说本人水平就这样了,本来想用循环的,但由于5号小朋友要把糖果分给1号所以一下子没想到很好的解决方案,把abcde给转换成ASCII码也不是很方便,索性用最笨比的做法。

1033

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	if (n % 2 == 0)
	{
		cout << "y e s";
	}
	else
	{
		cout << "n o";
	}
	return 0;
}

1034

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	if (a > b)
	{
		cout << a;
	}
	else
	{
		cout << b;
	}
	return 0;
}

1035

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	if (n >= 86)
	{
		cout << "VERY GOOD";
	}
	else if (n >= 60 && n < 86)
	{
		cout << "GOOD";
	}
	else
	{
		cout << "BAD";
	}
	return 0;
}

1036

#include <iostream>
using namespace std;
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	if (a + b > c)
	{
		cout << "yes";
	}
	else
	{
		cout << "no";
	}
	return 0;
}

1037

#include <iostream>
using namespace std;
int main()
{
	double n;
	cin >> n;
	if (n < 1.3)
	{
		cout << "60";
	}
	else
	{
		cout << "120";
	}
	return 0;
}

1038

#include <iostream>
using namespace std;
int main()
{
	int x;
	cin >> x;
	if (x > 0)
	{
		cout << x + 1;
	}
	else if (x == 0)
	{
		cout << 0;
	}
	else
	{
		cout << x - 1;
	}
	return 0;
}

1039

#include <iostream>
using namespace std;
int main()
{
	int a, b, c;
	int d;
	cin >> a >> b >> c;
	d = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
	cout << d;
	return 0;
}

1040

#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
	return a > b;
}
int main()
{
	int a[3];
	cin >> a[0] >> a[1] >> a[2];
	sort(a, a + 3, cmp);
	for (int i = 0; i < 3; i++)
	{
		cout << a[i] << " ";
	}
	return 0;
}

1041

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
	int a[3];
	for (int i = 0; i < 3; i++)
	{
		cin >> a[i];
	}
	sort(a, a + 3);
	if (a[0] + 1 == a[1] && a[1] + 1 == a[2])
	{
		cout << "TRUE";
	}
	else
	{
		cout << "FALSE";
	}
	return 0;
}

1042

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int a, b, c;
	a = n / 100;
	b = n % 100 / 10;
	c = n % 100 % 10;
	int d[3];
	d[0] = a;
	d[1] = b;
	d[2] = c;
	sort(d, d + 3);
	cout << d[2] * 100 + d[1] * 10 + d[0];
	return 0;
}

感觉复杂了点..不过看到题目一下子就蹦出来这个思路,题也不难,干脆就这样吧(摆烂

1043

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	int n;
	cin >> n;
	double num = 0;
	if (n <= 10)
	{
		num = 2.5;
		cout << fixed << setprecision(2) << num;//保留小数,需要iomanip头文件
	}
	if (n > 10)
	{
		num = 1.5 * n - 12.5;
		cout << fixed << setprecision(2) << num;
	}
	return 0;
}

1044

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
	int n;
	cin >> n;
	if (n < 10)
	{
		cout << 'A';
	}
	else if (n >= 10 && n < 20)
	{
		cout << 'B';
	}
	else if (n >= 20 && n < 40)
	{
		cout << 'C';
	}
	else if (n >= 40 && n < 50)
	{
		cout << 'D';
	}
	else if (n >= 50 && n < 80)
	{
		cout << 'E';
	}
	return 0;
}

1045

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
	int a[3];
	cin >> a[0] >> a[1] >> a[2];
	sort(a, a + 3);
	if (a[0] + a[1] > a[2])
	{
		cout << "Yes";
	}
	else
	{
		cout << "No";
	}
	return 0;
}

1046

#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
	return a > b;
}
int main()
{
	int a[4];
	for (int i = 0; i < 4; i++)
	{
		cin >> a[i];
	}
	sort(a, a + 4);//升序排列
	if (a[0] + 2 == a[1] && a[1] + 2 == a[2] && a[2] + 2 == a[3])
	{
		cout << a[0] << "+2=" << a[1] << endl;
		cout << a[1] << "+2=" << a[2] << endl;
		cout << a[2] << "+2=" << a[3];
	}
	else
	{
		sort(a, a + 4, cmp);//降序排列
		for (int i = 0; i < 4; i++)
		{
			cout << a[i] << " ";
		}
	}
	return 0;
}

1047

#include <iostream>
#include <algorithm>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{
	double a[3];
	cin >> a[0] >> a[1] >> a[2];
	sort(a, a + 3);
	if (a[0] + a[1] > a[2] && pow(a[0], 2) + pow(a[1], 2) == pow(a[2], 2))
	{
		cout << fixed << setprecision(1) << a[0] * a[1] / 2.0;
	}
	else
	{
		cout << "No";
	}
	return 0;
}

1048

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	if ((a == 1 && b == 2) || (a == 2 && b == 3) || (a == 3 && b == 1))
	{
		cout << "win";
	}
	else if (a == b)
	{
		cout << "tie";
	}
	else
	{
		cout << "lose";
	}
	return 0;
}

1049

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	if (n == 1)
	{
		cout << "one";
	}
	else if (n == 2)
	{
		cout << "two";
	}
	else if (n == 3)
	{
		cout << "three";
	}
	else if (n == 4)
	{
		cout << "four";
	}
	else if (n == 5)
	{
		cout << "five";
	}
	else if (n == 6)
	{
		cout << "six";
	}
	else if (n == 7)
	{
		cout << "seven";
	}
	else if (n == 8)
	{
		cout << "eight";
	}
	else if (n == 9)
	{
		cout << "nine";
	}
	else
	{
		cout << "out";
	}
	return 0;
}

1050文章来源地址https://www.toymoban.com/news/detail-520247.html

#include <iostream>
using namespace std;
int main()
{
	int a[4];
	int num = 0;
	int judge = 0;
	for (int i = 0; i < 4; i++)
	{
		cin >> a[i];
		if (a[i] >= 90)
		{
			num++;
		}
		if (a[i] < 60)
		{
			cout << "Poor LanYangYang";
			judge = 1;
			break;
		}
	}
	if (judge == 0 && num != 4)
	{
		cout << num;
	}
	if (judge == 0 && num == 4)
	{
		cout << 5;
	}
	return 0;
}

到了这里,关于东方博宜oj答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python快速实现某东方视频解密wasm算法

    开始之前请大家先去了解一下 wasm这种技术(可以百度搜索一下 WebAssembly 是什么?) 现在开始.... 1,先看一张图  首先写一个本地加载wasm的方法 00043706.wasm就是当前网站load的wasm库,如果遇到报错,请联系我,文章最后有qq联系方式 打印出来所有的方法看一下,然后和源码(下图)比

    2023年04月23日
    浏览(49)
  • 【算法】BF、KMP算法及OJ题

      大家好,好久不见,这里是平凡的人,众所周知,现在是暑假时期,趁现在时间比较充裕,博主将通过这篇博客具体介绍数据结构与算法中的BF、KMP算法, 记录自己的学习过程加上自己的理解,希望能够帮到更多的人了解学习BF、KMP算法。同时,如果存在错误的地方,还请

    2024年02月01日
    浏览(50)
  • 贪心算法OJ刷题(1)

    指所求问题的整体最优解可以通过一系列局部最优的选择来到达。是不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考

    2023年04月25日
    浏览(35)
  • 【算法训练笔记】栈的OJ题

           🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ 小林的算法训练笔记       🛰️社区 :✈️ 进步学堂       🛰️欢迎关注:👍点赞🙌收藏✍️留言 题目链接: 1047. 删除字符串中的所

    2024年02月09日
    浏览(44)
  • 动态规划算法OJ刷题(3)

    问题描述 给出一个字符串s,分割s使得分割出的每一个子串都是回文串。计算将字符串s分割成回文串的最小切割数。例如:给定字符串s=“aab”,返回1,因为回文分割结果[“aa”,“b”]是切割一次生成的。 解题思路 方法1:用一维数组来完成,O(N^3) 注意转移方程必须是让两个

    2024年02月14日
    浏览(39)
  • 链表经典算法OJ题目

    直接在原链表里删除val元素,然后让val前一个结点和后一个节点连接起来。 这时我们就需要3个指针来遍历链表: pcur  —— 判断节点的val值是否于给定删除的val值相等 prev ——保存pcur的前一个节点,为删除节点后,连接pcur之后的节点做准备 del —— 保存pcur之后的一个节点

    2024年04月26日
    浏览(34)
  • C++ OJ题测试—排序算法效率

      目录 OJ链接 一、直接插入排序 二、希尔排序 三、直接选择排序 常规:  第二种: 四、 堆排序 五、冒泡排序 六、快速排序 使用C++ sort函数 C语言思路: 三路划分优化效率 七、归并排序 八、计数排序 ​    ​ ​ ​  ​   ​ ​ sort 函数是C++标准库中提供的通用排序函数

    2024年02月04日
    浏览(48)
  • 【数据结构与算法】手撕链表OJ题

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 思路一 :一种比较普遍的方式,边遍历边找不同。我们可以通过定义两个指针,一个指向头节点,一个置为NULL。当遇到值为相同的时候,直接跳过去。指向下一位

    2024年02月10日
    浏览(45)
  • 【数据结构与算法】:10道链表经典OJ

    思路1:遍历原链表,将 val 所在的节点释放掉。(太麻烦) 思路2:创建新链表,再遍历原链表,找到不为 val 的节点尾插到新链表。 思路1代码实现如下: 注意: 1.当链表为空时,直接返回NULL即可。 2.当尾插上最后一个有效节点时,此时它的 next 可能还与最后一个节点相链接,

    2024年04月14日
    浏览(39)
  • 【Java数据结构 -- 队列:队列有关面试oj算法题】

    只允许在一端进行插入数据操作,在另一端进行删除数据操作得特殊线性表,队列是 先进先出 ,入队:进行插入操作得一端称为 队尾(rear) ,出队:进行删除操作的一端称为 队头(front) 。队列Queue是个接口, 底层通过链表实现的 。 boolean offer(E e) – 入队列 E poll() – 出队

    2024年01月25日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包