CodeForces 1553B Reverse String

源地址
在这里插入图片描述

题目给出的暴力题,这我使用的也是直接的暴力递归求解,芯片每次往右一次则向左直到边界。

string a,b;
bool flag;
void dfs(int x,string t,bool vis)//vis为true向左遍历,false向右
{
	if (flag==true) return ;
	if (t.size()>b.size())
		return ;
	if (vis==true)
	{
		for(int i=x;i>=0;i--)
		{
			t+=a[i];
			if (t==b)
			{
				flag=true;
				return ;
			}
		}
	}
	else 
	{
		for(int i=x;i<a.size();i++)
		{
			t+=a[i];
			if (t==b)
			{
				flag=true;
				return ;
			}
			dfs(i-1,t,true);
		}
	}
} 
int main()
{
	int n;
	scanf("%d",&n);
	while(n--)
	{
		cin>>a>>b;
		int j=0;
		flag=false;
		for(int i=0;i<a.size();i++)
		{
			dfs(i,"",false);
			if (flag==true) break;
		}
		if (flag)
			printf("YES\n");
		else printf("NO\n");
	}
	return 0;	
} 
### Java编程练习题在线刷题平台 对于希望提升Java编程技能的学习者来说,在线刷题是一种非常有效的实践方式。以下是几个适合Java开发者使用的在线刷题平台: #### LeetCode LeetCode 是一个广受欢迎的算法和数据结构训练平台,虽然其主要关注于算法挑战,但也提供了大量的 Java 题目供用户解决。这些题目涵盖了从简单到困难的各种难度级别[^2]。 ```java // 示例:在LeetCode上常见的字符串反转问题 public class ReverseString { public String reverse(String s) { char[] chars = s.toCharArray(); int n = chars.length; for(int i = 0; i < n / 2; ++i){ char temp = chars[i]; chars[i] = chars[n - i - 1]; chars[n - i - 1] = temp; } return new String(chars); } } ``` #### HackerRank HackerRank 提供了一个专门针对 Java 的部分,其中包括基础语法、面向对象编程以及更复杂的多线程处理等内容。这是一个非常适合初学者逐步提高自己能力的地方[^4]。 #### Codeforces 尽管Codeforces 更倾向于竞赛型编程,但它同样拥有大量可以用 Java 来解答的问题。这些问题通常需要较高的逻辑思维能力和较强的编码技巧[^5]。 #### 牛客网 作为国内知名的 IT 职业教育品牌之一,“牛客网”不仅提供丰富的简历指导服务,还设有专门用于技术求职准备的在线评测系统——“牛客练习赛”。这里聚集了大量的高质量模拟试题,覆盖范围广泛,包括但不限于 Java 技术栈[^3]。 #### AtCoder AtCoder 是另一个国际性的竞技编程比赛举办方,它的大部分题目都可以使用多种语言完成提交,当然也支持 Java 。由于其独特的评分机制(基于测试案例),使得参赛选手能够更加专注于解决问题本身而非特定实现细节上的优化[^1]。 ### 总结 以上列举了一些国内外优秀的资源站点,它们各自侧重不同方面但共同构成了帮助程序员成长的重要组成部分。无论是为了应对校园招聘还是个人兴趣爱好发展考虑,积极参与上述任何一个或者多个平台都将极大地促进您的技术水平进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值