Uva10340 All in All

原创 2013年12月02日 00:50:34

题目链接:Uva10340 All in All


题目大意:给定两个字符串s和t,判断s是否为t的子串。即从t中移除若干个字符,剩下的字符是否可以得到s。

题目本身没难度,但是要注意的是:Java中的StringBuffer比较,一定要先转成String(toString)然后再用equals比较

import java.util.*;
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		StringBuffer s,t;
		while(in.hasNext())
		{
			s=new StringBuffer(in.next());
			t=new StringBuffer(in.next());
			s.ensureCapacity(t.capacity());
			
			if(t.length()<s.length()&&!t.equals(s)){
				System.out.println("No");
				continue;
			}
			int index=0;
			for(int i=0;i<t.length();i++)
			{
			  if(index<s.length())	
			  {	
				  if(t.charAt(i)!=s.charAt(index))
				 {
					s.insert(index, t.charAt(i));
				 }
			  }
			  else
				 s.append(t.charAt(i));
				index++;
			}
			s.trimToSize();
			t.trimToSize();
			if(t.toString().equals(s.toString()))
				System.out.println("Yes");
			else
				System.out.println("No");
		}
	}

}


相关文章推荐

UVA 10340 All in All 子序列判定 贪心

题意:给出两个字符串,问第一个字符串是否是第二个的子序列。(不一定需要连续的字串) 只要每次从左向右寻找匹配字符,找到父序列的最右匹配字符的字串,然后从它的下个位置继续找下一个匹配。如果找完父串还没...
  • hcbbt
  • hcbbt
  • 2013年08月25日 21:49
  • 1084

子序列(All in All, UVa 10340)

DescriptionYou have devised a new encryption technique which encodes a message by inserting between ...

UVa 10340 - All in All

https://uva.onlinejudge.org/external/103/10340.pdf10340 All in All You have devised a new encryptio...

算法竞赛入门经典(第2版)习题3-9 子序列 All in All UVa10340

第一次提交时报Run time Error,重新检查了字符串对比
  • archya
  • archya
  • 2014年07月12日 15:27
  • 900

【白书之路】 10340 All in All 判断子串

10340 All in All You have devised a new encryption technique which encodes a message by inserting b...
  • wr132
  • wr132
  • 2015年09月12日 10:36
  • 610

UVA11802-All Your Bases Belong to Us

All Your Bases Belong to UsIt is very easy to find number of trailing zero in n! for a particular b...
  • algzjh
  • algzjh
  • 2017年06月29日 17:58
  • 118

uva - 10954 - Add All(优先队列、哈夫曼编码思想)

题意:题目名称就是你要做的任务:把一些数加起来。但是这对你来说一定是太简单了,所以让我们加一些东西在里面。 做加法要付出的代价(cost) 定义为这2个数的总和,所以要加1 和10 所需付出的代价为1...

uva 10954 Add All

Add All Input: standard input Output: standard output Yup!! The problem name reflects your task; j...

UVA 10954 Add All 全部相加 Huffman编码 双队列解

/**========================================== * This is a solution for ACM/ICPC problem * * @...

UVA 10954 Add All (贪心 + 优先队列)

Problem F Add All Input: standard input Output: standard output Yup!! The problem name refle...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Uva10340 All in All
举报原因:
原因补充:

(最多只允许输入30个字)